How can I convert WriteableBitmap to BitmapImage?

Sergey picture Sergey · Oct 21, 2010 · Viewed 20.8k times · Source
BitmapImage bitmapImage = new BitmapImage(new Uri("arka_projects_as_logo.png", UriKind.Relative));
Image uiElement = new Image() { Source = bitmapImage };
ScaleTransform t = new ScaleTransform() { ScaleX = 0.2, ScaleY = 0.2 };
WriteableBitmap writeableBitmap = new WriteableBitmap(uiElement,t);

I want to insert the result of this conversions (writeableBitmap) into System.Windows.Controls.Image. When I do this:

Image arkaImage = new Image() { Source = writeableBitmap };

arkaImage isn't shown at all. What can be done to make it work?

Answer

abatishchev picture abatishchev · Oct 21, 2010
WriteableBitmap wb = ..
using (MemoryStream ms = new MemoryStream())
{
    wb.SaveJpeg(ms, (int)image1.Width, (int)image1.Height, 0, 100);
    BitmapImage bmp = new BitmapImage();
    bmp.SetSource(ms);
}