2010-10-21 64 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); 

我想將此轉換的結果(writeableBitmap)插入到System.Windows.Controls.Image中。當我這樣做:如何將WriteableBitmap轉換爲BitmapImage?

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

arkaImage根本沒有顯示。可以做些什麼來使其發揮作用?

回答

2

爲什麼你不只是將ScaleTransform應用於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

這不適用於透明度。 – msbg 2013-04-22 23:07:26

+2

WriteableBitmap中沒有SaveJpeg – Nayef 2015-05-19 12:08:50

+0

@Nayef:它是[擴展方法](https://msdn.microsoft.com/en-uS/office/office365/system.windows.media.imaging.extensions.savejpeg%28v=對105%29.aspx)在另一個命名空間。 – abatishchev 2015-05-19 15:36:57

相關問題