C#将图片和字节流互相转换并显示到页面上
图片转换成字节流先要转换的IMage对象,转换之后返回字节流。字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图片的字节流,感兴趣的朋友看下下面的代码。
C#将图片和字节流相互转换代码:
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte { ///<summary> ///图片转换成字节流 ///</summary> ///<paramname="img">要转换的Image对象</param> ///<returns>转换后返回的字节流</returns> publicstaticbyte[]ImgToByt(Imageimg) { MemoryStreamms=newMemoryStream(); byte[]imagedata=null; img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); imagedata=ms.GetBuffer(); returnimagedata; } ///<summary> ///字节流转换成图片 ///</summary> ///<paramname="byt">要转换的字节流</param> ///<returns>转换得到的Image对象</returns> publicstaticImageBytToImg(byte[]byt) { MemoryStreamms=newMemoryStream(byt); Imageimg=Image.FromStream(ms); returnimg; } // ///<summary> ///根据图片路径返回图片的字节流byte[] ///</summary> ///<paramname="imagePath">图片路径</param> ///<returns>返回的字节流</returns> privatestaticbyte[]getImageByte(stringimagePath) { FileStreamfiles=newFileStream(imagePath,FileMode.Open); byte[]imgByte=newbyte[files.Length]; files.Read(imgByte,0,imgByte.Length); files.Close(); returnimgByte; } } }
将字节流转换为图片文件显示到页面上
//Byte[]result; System.IO.MemoryStreamms=newMemoryStream(result,0,result.Length) Response.ClearContent(); Response.ContentType="image/Gif"; Response.BinaryWrite(ms.ToArray()); 或者添加一个处理图片的Handler,内容如下: <%@WebHandlerLanguage="C#"Class="Handler"%> usingSystem.Web; usingSystem.IO; publicclassHandler:IHttpHandler{ publicvoidProcessRequest(HttpContextcontext){ intCategoryID=int.Parse(context.Request.QueryString["CategoryID"]); //调用Categories.GetPicture取得图片stream Streamstream=CategoriesPicture.GetPicture(CategoryID); if(stream!=null){ //取得图片stream大小 intbuffersize=(int)stream.Length; //建立buffer System.Byte[]buffer=newSystem.Byte[buffersize]; //调用stream.Read,从stream读取到buffer,并返回count intcount=stream.Read(buffer,0,buffersize); //返回图片字段buffer if(count!=0) context.Response.OutputStream.Write(buffer,0,count); } } publicboolIsReusable{ get{ returnfalse; } } }
以上就是本文的全部内容,希望对大家学习C#将图片和字节流互相转换并显示到页面上有所帮助。