понедельник, 15 июня 2009 г.

четверг, 4 июня 2009 г.

System.Windows.Media.Imaging.BitmapSource <=>System.Drawing.Bitmap

public static System.Windows.Media.Imaging.BitmapSource GetBitmapSource(System.Drawing.Bitmap bitmap)
{
return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
bitmap.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}

private System.Drawing.Bitmap GetBitmap(System.Windows.Media.Imaging.BitmapSource bitmapSource)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Windows.Media.Imaging.BmpBitmapEncoder encoder = new System.Windows.Media.Imaging.BmpBitmapEncoder();
encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bitmapSource));
encoder.Save(ms);
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(ms);
return bitmap;
}