public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
然后将它们转换回来:
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
2条答案
按热度按时间esyap4oy1#
如果您不想使用资源(resx),则可以始终将图像文件作为嵌入式资源包含在项目中。
您可以创建一个文件夹来保存图像,然后调用“添加现有文件”,添加要嵌入到项目中的图像。然后在每个文件的“属性”窗口中,对于**“生成操作”选项,突出显示“嵌入资源”选项。
要访问该文件,需要使用项目的完整名称空间+项目中的文件夹路径来调用
Assembly.GetManifestResourceStream(string)
:例如,对于项目名称:“我的公司.我的测试项目”,并将图像存储在“图像”文件夹中,作为“图像/图像1.gif”**,
名称空间将为:
fivyi3re2#
另一种方法是将它们转换为字节数组,并将它们作为BLOB存储在数据库中。
然后将它们转换回来: