如何在C#中访问嵌入式.Net图像资源所需的示例代码

时间:2020-03-06 14:56:17  来源:igfitidea点击:

将图像文件标记为嵌入式资源非常容易,但是此后该如何访问图像。请给我一些示例代码吗?

解决方案

查看位于http://msdn.microsoft.com/zh-cn/library/aa309403(VS.71).aspx的第三个代码段

最直接的方法:

YourProjectsBaseNamespace.Properties.Resources.YourImageResourceName

1)添加和编辑资源(Visual C#)

System.Drawing.Bitmap bitmap1 = myProject.Properties.Resources.Image01;

2)使用GetManifestResourceStream访问嵌入式资源

Assembly _assembly = Assembly.GetExecutingAssembly();

Stream _imageStream = 
    _assembly.GetManifestResourceStream(
    "ThumbnailPictureViewer.resources.Image1.bmp");
Bitmap theDefaultImage = new Bitmap(_imageStream);

//Get the names of the embedded resource files;

List<string> resources = new List<string>(AssemblyBuilder.GetExecutingAssembly().GetManifestResourceNames());

//Get the stream

StreamReader sr = new StreamReader(
                AssemblyBuilder.GetExecutingAssembly().GetManifestResourceStream(
                    resources.Find(target => target.ToLower().Contains("insert name here"))

我们可以从流中从位图转换。 Bitmap类具有执行此操作的方法。如果我的内存可用,请使用LoadFromStream。