ホームページ >バックエンド開発 >C++ >WPF アプリケーションで実行時に画像を効率的に読み込むにはどうすればよいですか?

WPF アプリケーションで実行時に画像を効率的に読み込むにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-22 17:02:11266ブラウズ

How Can I Efficiently Load Images at Runtime in My WPF Application?

WPF ランタイム イメージの読み込み: 包括的なガイド

WPF アプリケーションを開発する場合、実行時に画像を動的にロードする必要がある場合があります。これは簡単そうに見えますが、画像を正しく表示するには注意が必要な点がいくつかあります。

URI から画像をロード

WPF で画像を読み込む一般的な方法は、BitmapImage クラスを使用することです。 URI からの画像のロードをサポートしているため、リモートおよびローカルの画像ソースを指定できます。たとえば、リモート URL から画像をロードするには、次のコードを使用できます:

<code class="language-csharp">var uri = new Uri("http://...");
var bitmap = new BitmapImage(uri);</code>

ローカル ファイル パスから画像をロード

また、画像がローカルに保存されている場合は、ファイル パスから file:// URI を構築して使用することもできます:

<code class="language-csharp">var path = Path.Combine(Environment.CurrentDirectory, "Bilder", "sas.png");
var uri = new Uri(path);</code>

画像をアセンブリ リソースとしてロード

アセンブリ リソースとして埋め込まれた画像の場合は、Pack URI スキームを使用する必要があります。

<code class="language-csharp">var uri = new Uri("pack://application:,,,/Bilder/sas.png");</code>

Visual Studio でイメージ ファイルに「リソース」ビルド アクションがあることを確認してください。

BitmapImage を Image コントロールに割り当てます

BitmapImage を作成した後、それを Image コントロールの Source プロパティに割り当てる必要があります。これにより、WPF ウィンドウに画像が表示されます:

<code class="language-csharp">image1.Source = bitmap;</code>

トラブルシューティング: コード内の赤い波線の解決

コードの下に赤い波線が表示される場合は、次の using ステートメントを必ず含めて、必要な WPF 名前空間をインポートしてください:

<code class="language-csharp">using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging;</code>

また、参照されたイメージ ファイルが正しいパスまたはアセンブリの場所に存在することを確認してください。

以上がWPF アプリケーションで実行時に画像を効率的に読み込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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