ホームページ >バックエンド開発 >C++ >system.drawing.bitmapをwpf bitmapimageに変換する方法は?

system.drawing.bitmapをwpf bitmapimageに変換する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-28 01:06:09353ブラウズ

How to Convert a System.Drawing.Bitmap to a WPF BitmapImage?

system.drawing.bitmapをwpf bitmapimageに変換します

既存のsystem.drawing.bitmapをwpf bitmapimageに変換して互換性のある形式に変換して、WPFアプリケーションに画像を正しく表示します。効果的な方法は、ビットマップをMermorystreamに変換し、BitMapimageのbegininit()およびendinit()メソッドを使用することです。以下は、この目標の詳細な説明です。

最初に、MemoryStreamインスタンスを作成し、適切なImageFormatを使用してSystem.drawing.bitmapを保存します。この例では、PNG:

を使用します

次に、bitmapimageが画像データを読み取ることができるように、MemoryStreamの位置を最初にリセットします。

<code class="language-csharp">using(MemoryStream memory = new MemoryStream())
{
    bitmap.Save(memory, ImageFormat.Png);</code>
次に、新しいBitMapImageインスタンスを作成し、そのbeginInit()メソッドを呼び出します。このメソッドは、ビットマピマージを初期化し、画像データをロードするために準備します。

<code class="language-csharp">    memory.Position = 0;</code>
BitMapimageのStreamSource属性を、以前に作成したメモリフローに設定します。この属性により、BitMapimageはストリームから画像データを読み取ることができます。

<code class="language-csharp">    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();</code>
パフォーマンスを最適化するには、BitMapCacheoption.OnloadにBitMapImageのカチョウプションを設定します。このオプションは、画像が最初にロードされた後、画像データをメモリにキャッシュし、それによりその後の検出パフォーマンスが向上します。

<code class="language-csharp">    bitmapImage.StreamSource = memory;</code>
最後に、bitmapimageのendinit()メソッドを呼び出して、読み込みプロセスを完了します。このメソッドは画像データを検証し、表示できるようにします。

これらの手順に従うことにより、system.drawing.bitmapをsystem.windows.media.imaging.bitmapimageに正常に変換できます。
<code class="language-csharp">    bitmapImage.CacheOption = BitmapCacheOption.OnLoad;</code>

以上がsystem.drawing.bitmapをwpf bitmapimageに変換する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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