Jaime Oro Jaime Oro - 3 months ago 178
C# Question

BitmapSource to BitmapImage

I need to parse the content of

Clipboard.GetImage()
(a
BitmapSource
) to a
BitmapImage
.
Does anyone knows how can this be done?

Answer

I've found a clean solution that works:

BitmapSource bitmapSource = Clipboard.GetImage();

JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
BitmapImage bImg = new BitmapImage();

encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
encoder.Save(memoryStream);

memoryStream.Position = 0;
bImg.BeginInit();
bImg.StreamSource = memoryStream;
bImg.EndInit();

memoryStream.Close();

return bImg;