如何从资源中读取图像流?

How do I read an image as stream from the resources?

如何从 C# 桌面应用程序的 \Resources 文件夹中获取特定图像(作为流)?

在Visual Studio中,我将图像导入到\Resources 文件夹中,它有一个File Name 和一个Full Path 属性。我想用它的名字。

我的目标是:

System.IO.Stream contentStream =  get the image stream from \Resources
System.Net.Mail.LinkedResource logo = new LinkedResource( contentStream);

您有几个简单的选择。

/Resources 文件夹不完全是一个特殊的文件夹。您仍然需要 select 解决方案资源管理器中要嵌入到程序集中的任何项目,然后从属性 window 中指定其构建类型为 "Embedded Resource"。然后使用 ResourceManager.GetStream 以流的形式检索内容。

不过,在大多数情况下,更简单的方法是使用项目属性设计器 window 添加一个 Resources.resx 文件,然后将您想要的文件添加到资源设计器。例如,您可以这样添加图像:

Visual Studio 将为您生成代码以检索您以这种方式嵌入的文件。