ホームページ >バックエンド開発 >C++ >WPF で画像を動的にロードするにはどうすればよいですか?

WPF で画像を動的にロードするにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-22 16:57:09300ブラウズ

How Can I Dynamically Load Images in WPF?

WPF での画像の動的読み込み

WPF アプリケーションは多くの場合、実行時に外部リソースから画像を読み込む必要があります。 .NET Framework によって提供されるリソースを使用すると、プロセスは非常にシンプルで簡単です。

実行時にイメージをロードするには、BitmapImage クラスを使用します。 Source または Uri オブジェクトを受け入れる Stream 属性を提供します。したがって、さまざまな方法で画像の位置を指定できます。

Uri を使用する

Uri 画像ファイルは、場所に関係なく直接参照できます。以下に、一般的な Uri 形式をいくつか示します:

  • ローカル ファイル: Uri("file://path/to/image.png")
  • インターネット リソース: Uri("http://server/image.png")
  • アセンブリリソース: Uri("pack://application:,,,/AssemblyName;component/path/to/image.png")

Uri の使用例:

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

ストリームを使用する

画像が Stream として提供されている場合は、次のコードを使用できます:

<code class="language-csharp">using (var stream = new FileStream("path/to/image.png", FileMode.Open))
{
    var bitmap = new BitmapImage();
    bitmap.BeginInit();
    bitmap.StreamSource = stream;
    bitmap.EndInit();
    image1.Source = bitmap;
}</code>

画像ソースを設定します

BitmapImage オブジェクトを作成した後、それを XAML の Image コントロールの Source 属性に割り当てる必要があります。例:

<code class="language-xml"><Image x:Name="image1" /></code>
<code class="language-csharp">image1.Source = bitmap;</code>

その他の指示:

  • アプリケーションが画像ファイルにアクセスでき、適切な権限が設定されていることを確認してください。
  • アセンブリ リソースからイメージを読み込む場合は、Visual Studio でイメージ ファイルのビルド アクションが「リソース」に設定されていることを確認してください。
  • Image.Stretch 属性を使用して、特定のスペース内で画像がどのように表示されるかを制御できます。

以上がWPF で画像を動的にロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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