2010-10-21 18 views
12
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); 

Ich möchte das Ergebnis dieser Konvertierungen (writeableBitmap) in System.Windows.Controls.Image einfügen. Wenn ich dies tun:Wie kann ich WriteableBitmap in BitmapImage konvertieren?

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

arkaImage ist überhaupt nicht dargestellt. Was kann getan werden, damit es funktioniert?

Antwort

2

Warum wenden Sie nicht nur die ScaleTransform auf die UIElement?

11
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); 
} 
+2

Dies funktioniert nicht mit Transparenz. – msbg

+2

gibt es kein SaveJpeg in WriteableBitmap – Nayef

+0

@Nayef: es ist eine [Erweiterungsmethode] (https://msdn.microsoft.com/en-uS/office/office365/system.windows.media.imaging.extensions.savejpeg%28v= vs.105% 29.aspx) in einem anderen Namensraum. – abatishchev

Verwandte Themen