首页 > 后端开发 > C++ > 如何在 C# 中从嵌入式资源加载图像?

如何在 C# 中从嵌入式资源加载图像?

Mary-Kate Olsen
发布: 2025-01-20 21:08:11
原创
260 人浏览过

How to Load Images from Embedded Resources in C#?

在C#中加载嵌入式资源图像

在项目资源区域存储的图像,经常需要动态加载到位图对象中以进行显示或操作。以下是在C#中实现此目的的方法:

在Windows窗体应用程序中:

使用嵌入式图像: 如果您使用Visual Studio的“属性/资源”UI将图像添加到项目中,它将作为资源嵌入。然后,您可以通过生成的代码访问它:

<code class="language-csharp">var bmp = new Bitmap(WindowsFormsApplication1.Properties.Resources.myimage);</code>
登录后复制

使用System.Resources.ResourceManager: 您可以手动创建一个ResourceManager来检索资源:

<code class="language-csharp">using System.Resources;

// 为当前程序集创建一个资源管理器
var rm = new ResourceManager(Assembly.GetExecutingAssembly());

// 从指定的资源名称加载图像
var bmp = (Bitmap)rm.GetObject("myimage");</code>
登录后复制

在WPF应用程序中:

使用PackUri: 在WPF中,您可以使用PackUri从资源加载图像:

<code class="language-csharp">var img = new Image();
img.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/myimage.jpg"));</code>
登录后复制

使用System.Windows.Media: WPF的另一个选择是利用System.Windows.Media:

<code class="language-csharp">using System.Windows.Media;
using System.Windows.Media.Imaging;

// 获取资源流
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Resources.myimage.jpg");

// 创建位图图像
var bmp = new BitmapImage();
bmp.BeginInit();
bmp.StreamSource = stream;
bmp.EndInit();</code>
登录后复制

以上是如何在 C# 中从嵌入式资源加载图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板