private Bitmap GetBitmap(System.Windows.Size size) { IntPtr hBitmap = GetHBitmap(size); // return a System.Drawing.Bitmap from the hBitmap Bitmap returnValue = Bitmap.FromHbitmap(hBitmap); // delete HBitmap to avoid memory leaks ShellNativeMethods.DeleteObject(hBitmap); return(returnValue); }
private BitmapSource GetBitmapSource(System.Windows.Size size) { IntPtr hBitmap = GetHBitmap(size); // return a System.Media.Imaging.BitmapSource // Use interop to create a BitmapSource from hBitmap. BitmapSource returnValue = Imaging.CreateBitmapSourceFromHBitmap( hBitmap, IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); // delete HBitmap to avoid memory leaks ShellNativeMethods.DeleteObject(hBitmap); return(returnValue); }