public static BitmapSource ToBitmapSource(SD.Bitmap source) { var hBitmap = source.GetHbitmap(); try { return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); } catch (Win32Exception) { return null; } finally { DeleteObject(hBitmap); } }
//not tested /*public static drawing.Bitmap getImageFromURL(String sURL) { HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(sURL); myRequest.Method = "GET"; HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(myResponse.GetResponseStream()); myResponse.Close(); return bmp; } public static BitmapSource ToBitmapSource(string filename) { drawing.Bitmap sourceBitmap = new drawing.Bitmap(filename); return ToBitmapSource(sourceBitmap); } */ public static BitmapSource ToBitmapSource(drawing.Bitmap source) { BitmapSource bitSrc = null; var hBitmap = source.GetHbitmap(); bitSrc = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); return bitSrc; }