Konverter-Methode für verschiedene Image-Typen
2 Methoden:
/// <summary>
/// Konvertiert ein System.Drawing.Image in ein System.Windows.Controls.Image
/// </summary>
/// <param name="image">zu konvertierendes System.Drawing.Image</param>
/// <returns>konvertiertes System.Windows.Controls.Image</returns>
public static System.Windows.Controls.Image ConvertImageToWpfImage(System.Drawing.Image image)
{
if(image == null)
throw new ArgumentNullException("image", "Image darf nicht null sein.");
using(System.Drawing.Bitmap dImg = new System.Drawing.Bitmap(image))
{
using(MemoryStream ms = new MemoryStream())
{
dImg.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
System.Windows.Media.Imaging.BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage();
bImg.BeginInit();
bImg.StreamSource = new MemoryStream(ms.ToArray());
bImg.EndInit();
System.Windows.Controls.Image img = new System.Windows.Controls.Image();
img.Source = bImg;
return img;
}
}
}
/// <summary>
/// Konvertiert ein System.Windows.Controls.Image in ein System.Drawing.Image
/// </summary>
/// <param name="image">zu konvertierendes System.Windows.Controls.Image </param>
/// <returns>konvertiertes System.Drawing.Image</returns>
public static System.Drawing.Image ConvertWpfImageToImage(System.Windows.Controls.Image image)
{
if(image == null)
throw new ArgumentNullException("image", "Image darf nicht null sein.");
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
MemoryStream ms = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create((BitmapSource)image.Source));
encoder.Save(ms);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}
Schlagwörter: <System.Windows.Controls.Image, System.Drawing.Image>