您的位置:首页 > 编程语言 > C#

C#图片和byte[]的互相转换

2012-06-30 22:39 351 查看
图片的“读”[b]操作[/b]

①参数是图片路径:返回Byte[]类型:

//参数是图片的路径
public byte[] GetPictureData(string imagePath)
{
FileStream fs = new FileStream(imagePath, FileMode.Open);
byte[] byteData = new byte[fs.Length];
fs.Read(byteData, 0, byteData.Length);
fs.Close();
return byteData;
}


②参数类型是Image对象,返回Byte[]类型

//将Image转换成流数据,并保存为byte[]
public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
{
MemoryStream mstream = new MemoryStream();
imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byData, 0, byData.Length); mstream.Close();
return byData;
}




图片的“写”操作

①参数是Byte[]类型,返回值是Image对象

public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}


②参数是Byte[] 类型,没有返回值(ASP.NET输出图片)

public void WritePhoto(byte[] streamByte)
{
// Response.ContentType 的默认值为默认值为“text/html”
Response.ContentType = "image/GIF";
//图片输出的类型有: image/GIF     image/JPEG
Response.BinaryWrite(streamByte);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: