wpf 画像リソースと Visual Studio 2010 リソース エディター
-
26-09-2019 - |
質問
この質問の動機は、実際には、ImageSource の依存関係プロパティを介してユーザー コントロールで使用される画像を指定することです。このための管理、アクセス、単体テストに関連するいくつかの問題点に直面しています。
- リソース エディターは、アプリケーションのイメージを管理するために使用するのに適したツールですか?
- ビットマップをエディタから ImageSource に変換する最良の方法は何ですか?
- エディターからリソースのファイル名を取得するにはどうすればよいですか?
解決
いいえ、リソース エディターはこれには適したツールではありません。
WPF アプリケーションでは、すべての画像を「Images」ディレクトリに置き、それぞれを「リソース」としてマークするのが最善の方法です。その後、イメージ コントロールや他の場所でそれらを直接参照できます。
正確な手順は次のとおりです。
- お気に入りのビットマップ編集プログラム (Paint.NET、Photoshop など) を使用して画像をトリミングしたり調整したりできます。
- .png ファイル (または、必要に応じて .jpg または .gif) として保存します。
- Visual Studio ソリューション内に「Images」フォルダーを作成します (または、整理したい場合は複数のフォルダー)
- 画像をハードディスクから「画像」フォルダーにドラッグします (またはプロジェクトを右クリックし、[新規] -> [既存の項目] を選択して画像を選択します)。
これで、XAML で画像を簡単に参照できるようになりました。
<Image Source="Images/MyImage.png" />
またはコード内で次のようにします。
var source = (BitmapSource)Application.LoadComponent(
new Uri("Images/MyImage.png", UriKind.Relative));
外部アセンブリ内のイメージを参照することもできます。
<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />
コードでは次のようになります。
var source = (BitmapSource)Application.LoadComponent(
new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
UriKind.Relative));
所属していません StackOverflow