首頁 >後端開發 >C++ >如何在 C# 中從嵌入式資源載入圖片?

如何在 C# 中從嵌入式資源載入圖片?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-20 21:08:11298瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn