z銘WPF bitmap回転bitmapigeはCreateBitmap SourceFroom HBitmapメモリを使って漏洩します.

649 ワード

IntPtr f = bmp.GetHbitmap();
img.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(f, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
ここで何度も使ったらメモリが爆発します.
解決策:
windowsの下のGDI 32.DLL種類を使います.
使用方法:
先にsystem.runtime.serialzation類を引用します.
ソリューションの設定がデバッグの下にあれば
gdi 32.dllをbing\debugに置く.
新しいクラスを作成します.
  static  class Class1
    {
      [System.Runtime.InteropServices.DllImport("gdi32.dll")]
      public static extern bool DeleteObject(IntPtr o);
    }
その後、変換後 
 Class1.DeleteObject(f);
すぐできます
メモリが爆発しません.