我将PNG文件导入Visual Studio 2013.我们正在使用的MIME邮件库为HTML邮件添加了视觉效果,其中包含一个需要字节数组参数的函数。如何将ResourceManager返回的对象转换为字节数组?
ResourceManager rm;
rm = new ResourceManager("Foo.Properties.Resources", typeof(MYFORM).Assembly);
var obj = rm.GetObject("Logo");
当我尝试使用.GetStream
方法时,错误表示该对象不是流,而是使用.GetObject
。
答案 0 :(得分:4)
如果文件是Image
,GetObject将返回System.Drawing.Image对象Image img = (Image)rm.GetObject("Logo")
使用Image对象,您可以直接将其保存到任何System.IO.Stream对象
MemoryStream stream = new MemoryStream();
img.Save(stream, ImageFormat.Png);
现在,您可以使用Stream.ToArray
复制字节byte[] bytes = stream.ToArray();
或直接将其保存到文件
img.Save(Application.StartupPath + "/testImage.jpg")
别忘了关闭所有使用过的流
Stream.Close();