System.Drawing.Bitmap から WPF BitmapImage への効率的な変換
WPF アプリケーションは通常、System.Windows.Media.Imaging.BitmapImage
クラスを使用して画像を処理します。ただし、既存の System.Drawing.Bitmap
オブジェクトを扱う場合、それらを BitmapImage
に変換することは便利な手順です。この変換により、これらの画像を WPF アプリケーションで表示および操作できるようになります。
System.Drawing.Bitmap
を BitmapImage
に変換する最も効率的な方法は、MemoryStream
を使用することです。詳細な手順は次のとおりです:
<code class="language-csharp">using(MemoryStream memory = new MemoryStream()) { bitmap.Save(memory, ImageFormat.Png); memory.Position = 0; BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = memory; bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.EndInit(); }</code>
MemoryStream
オブジェクトを作成し、System.Drawing.Bitmap
の Save()
メソッドを使用して、ビットマップを目的の画像形式 (ImageFormat.Png
など) でメモリ ストリームに保存します。 Position
を先頭 (0) に戻して読み取ります。 BitmapImage
オブジェクトを作成します。 BeginInit()
メソッドと EndInit()
メソッド BitmapImage
を使用して初期化され、完了されます。 BitmapImage
の StreamSource
属性をメモリ ストリームに設定します。 CacheOption
を BitmapCacheOption.OnLoad
に設定します。 EndInit()
を使用して、BitmapImage
の初期化を終了します。 この変換が完了すると、BitmapImage
オブジェクトは、Image
コントロールに表示したり、画像操作を実行したりするなど、他の WPF 画像リソースと同様に使用できます。
以上がSystem.Drawing.Bitmap を WPF BitmapImage に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。