🗿
[WPF/C#] System.Drawing.BitmapをBitmapSourceに変換する
もくじ
やりたいこと
WinFormから?使っているSystem.Drawing.Bitmap
を、WPFで使っているSystem.Windows.Media.Imaging.BitmapSource
に変換したい。
やり方
System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap()
メソッドを使う。
サンプルコード
// 画像から読み込んだ System.Drawing.Bitmap から、
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(@"C:\・・・画像のパス・・・");
// Bitmapのハンドルを取得し、
var hBitmap = bitmap.GetHbitmap();
// CreateBitmapSourceFromHBitmap()で System.Windows.Media.Imaging.BitmapSource に変換する
System.Windows.Media.Imaging.BitmapSource bitmapsource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
MyImage.Source = bitmapsource;
参考
Discussion