在项目资源区域存储的图像,经常需要动态加载到位图对象中以进行显示或操作。以下是在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中文网其他相关文章!