以编程方式将资源加载为字节数组
我将图像添加为文件并将类型设置为资源(参见屏幕截图)如何在不使用resx文件等的情况下将其作为字节数组拉出来?
如何使用Visual C#嵌入和访问资源中描述了该过程。
基本上它需要使用Assembly
类来使用reflection。
Stream imageStream = currentAssembly.GetManifestResourceStream("Resources.logo_foot.png");
请参阅如何在C#中将Stream转换为byte []? 有关如何从Stream
获取byte[]
详细信息。
事情比项目标记更简单!
如果单击资源中的文件并查看属性窗口,则可以将“文件类型”设置为二进制。 然后,您可以使用简单的代码访问代码中的bytearray
var byteArray = Properties.Resources.FileName;
其中FileName是资源的名称。
如果您不直接使用该图像(即:如果您的项目是Windows应用程序,则来自控件),那么您可以:
1-更改文件扩展名(即:* .jpg.data)
2-将“图像”添加到资源文件RESX
3-使用:Resources.PathToImages.ResxFileName.ImageName访问字节数组
注意:如果添加扩展名未更改的图像,则RESX编译器会创建Bitmap属性而不是byte []属性。
如果这是一个网站,你可以base64
编码图像,并将其添加为image
元素的src
或CSS
中的background-image
定义:
http://www.motobit.com/util/base64-decoder-encoder.asp
注意 这将消除将文件存储在服务器上的依赖性,这可能是好的也可能是坏的。