【发布时间】:2011-01-25 08:07:11
【问题描述】:
我想知道以下内容:我将文件夹“Graphics”添加到我的项目中,并在其中插入了一个 BMP。现在我想从我的代码中加载图像,但我不知道如何。我知道资源很简单,但是有没有办法不将图像添加到资源中?谢谢
【问题讨论】:
标签: c# visual-studio image embedded-resource
我想知道以下内容:我将文件夹“Graphics”添加到我的项目中,并在其中插入了一个 BMP。现在我想从我的代码中加载图像,但我不知道如何。我知道资源很简单,但是有没有办法不将图像添加到资源中?谢谢
【问题讨论】:
标签: c# visual-studio image embedded-resource
获取资源:
myNamespace.Properties.Resources.images.<imagename>
您可以将其转换为您需要的类型(或使用函数,例如 FromFile)
【讨论】:
【讨论】:
我曾经也想过这个问题,所以我想通了并把它放在了blog post 中。对于您的示例,它应该是这样的:
var a = Assembly.GetExecutingAssembly(); // Or another Get method if you need to get it from some other assembly
var image = Image
.FromStream(a.GetManifestResourceStream("DefaultNameSpace.Graphics.image.bmp"));
请记住将图像标记为嵌入式资源,并在完成后处理图像,以免泄漏:)
【讨论】:
Image.FromFile("pathtoimage.bmp") 或类似的东西。
using System.Reflection;
您可以直接从文件系统加载图像
Image img = Image.FromFile("\Graphics\ImageName.bmp");
MSDN 文档在这里
http://msdn.microsoft.com/en-us/library/system.drawing.image.fromfile.aspx
显然,您需要知道要从中加载的目录和名称。
【讨论】:
我用过类似的东西。在 YouTube 教程视频中得到它。
return new BitmapImage(new Uri($"pack://application:,,,/Images/imageFile.png"));
【讨论】: