パック URI を使用した WPF イメージ レンダリングのトラブルシューティング
画像データが存在するにもかかわらず、WPF 画像が表示されませんか? 問題はおそらく、画像を参照する方法にあります。 解決策は、アプリケーションのアセンブリ内に埋め込まれたリソースを正しく参照するパック URI を使用することです。
修正されたアプローチは次のとおりです:
Image
オブジェクトを作成します:<code class="language-C#">Image finalImage = new Image(); finalImage.Width = 80;</code>
BitmapImage
とその UriSource
プロパティを使用して、パック URI を指定します:<code class="language-C#">BitmapImage logo = new BitmapImage(); logo.BeginInit(); logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"); logo.EndInit(); finalImage.Source = logo;</code>
より簡潔な代替案は次のとおりです:
<code class="language-C#">finalImage.Source = new BitmapImage(new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png"));</code>
パック URI について:
pack://application:,,,/
: URI スキーム。 3 つのカンマに注意してください。AssemblyName
: これを実際のアセンブリ名 (例: MyApplication
) に置き換えます。component/Resources/logo.png
: プロジェクトの Resources フォルダー内の画像へのパス。重要な考慮事項:
application
の後の 3 つのスラッシュは、カンマ (,
) に置き換える必要があります。%
や ?
など) を適切にエスケープします。次の手順に従い、画像が正しく埋め込まれ、参照されていることを確認すると、WPF 画像が正しくレンダリングされるはずです。
以上がWPF イメージがレンダリングされないのはなぜですか? パック URI を使用してそれを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。