ホームページ >バックエンド開発 >C++ >WPF でリソースから画像を正しく読み込む方法は?

WPF でリソースから画像を正しく読み込む方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-17 06:16:10907ブラウズ

How to Correctly Load Images from Resources in WPF?

WPF でのリソースとしての画像の読み込み

WPF 開発では、簡単にアクセスして展開できるように、プロジェクトに画像をリソースとして埋め込みたいことがよくあります。ただし、コード内で画像ソースを動的に設定するのは難しい場合があります。

次のコードを使用してリソースから画像を読み込むときに問題が発生したとします。

<code class="language-csharp">Assembly asm = Assembly.GetExecutingAssembly();
Stream iconStream = asm.GetManifestResourceStream("SomeImage.png");
PngBitmapDecoder iconDecoder = new PngBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
ImageSource iconSource = iconDecoder.Frames[0];
_icon.Source = iconSource;</code>

ストリームには画像データが含まれていますが、画像はまだ表示されません。解決策は、アセンブリからリソースを読み込むために特別に設計された URI スキームである Pack URI を使用することです。

パック URI を含む更新されたメソッドは次のとおりです:

<code class="language-csharp">Image finalImage = new Image();
finalImage.Width = 80;
...
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();
...
finalImage.Source = logo;</code>

この URI は、承認を「application:///」として指定し、その後にアセンブリの短縮名、リソース ファイルへのパス、およびコンマで置き換えられたスラッシュが続きます。また、イメージ リソースをビルド アクションとして「リソース」に設定してください。

パック URI を使用すると、WPF に埋め込みリソースを確実に確実に読み込むことができるため、画像をユーザー インターフェイスにシームレスに統合できます。

以上がWPF でリソースから画像を正しく読み込む方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。