发新帖

[C#/ASP.NET] C#图片和byte[]的互相转换

零下一度 2022-12-13 706

图片的“读”操作

①参数是图片路径:返回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);

}


最新回复 (0)
返回
零下一度
主题数
928
帖子数
0
注册排名
1