Here's another part of my Converter Class: this function converts a
৺BitmapSource to an
৺BitmapImage:
Also the Conversation
৺BitmapImage to
৺BitmapSource is included - but its not worth mentioning ;-)
Due to the fact, that
৺BitmapImage inherits
৺BitmapSource, you can simple do an explicit cast on it.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media.Imaging;
using System.IO;
namespace Dognet.Imaging
{
partial class Converter
{
/// <summary>
/// Converts an given BitmapSource to an BitmapImage
/// </summary>
/// <param name="bitmapSource">the BitmapSource</param>
/// <returns>the BitmapImage</returns>
public static BitmapImage BitmapSourceToBitmapImage(BitmapSource bitmapSource)
{
JpegBitmapEncoder encoder
= new JpegBitmapEncoder
(); MemoryStream memoryStream
= new MemoryStream
(); BitmapImage bImg
= new System.
Windows.
Media.
Imaging.
BitmapImage();
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);
bImg.BeginInit();
bImg.
StreamSource = new MemoryStream
(memoryStream.
ToArray()); bImg.EndInit();
memoryStream.Close();
return bImg;
}
/// <summary>
/// Converts a bitmapImage to a bitmapSource
/// </summary>
/// <param name="bitmapImage">the bitmapImage to convert</param>
/// <returns>the bitmap Source</returns>
public static BitmapSource BitmapImageToBitmapSource(BitmapImage bitmapImage)
{
return (BitmapSource)bitmapImage;
}
}
}