既存の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 サイトの他の関連記事を参照してください。