C#实现图片文件到数据流再到图片文件的转换

时间:2021-06-29 14:34:26

//----引入必要的命名空间
using System.IO;
using System.Drawing.Imaging;

//----代码部分----//

private byte[] photo;//公用缓冲区
public string SourFilePath;//源图片文件路径
public string ObjFilePath;//目标图片路径

public int FileToStream()//文件到流的转换
{
Image img = new Bitmap(SourFilePath);
MemoryStream stream = new MemoryStream();
img.Save(stream, ImageFormat.Bmp);
BinaryReader br = new BinaryReader(stream);
photo = stream.ToArray();
stream.Close();
return 0;
}

public Image ShowPic()//根据流显图
{
byte[] bytes = photo;
MemoryStream ms = new MemoryStream(bytes);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
return img;
}

public int StreamToFile()//反向转换
{
byte[] bytes = photo;
FileStream fs = new FileStream(ObjFilePath, FileMode.Create, FileAccess.Write);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
fs.Close();
return 0;
}