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

Tôi muốn chèn kết quả của chuyển đổi này (writeableBitmap) vào System.Windows.Controls.Image. Khi tôi làm điều này:Làm cách nào để chuyển đổi WriteableBitmap thành BitmapImage?

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

arkaImage hoàn toàn không hiển thị. Những gì có thể được thực hiện để làm cho nó hoạt động?

Trả lời

2

Tại sao bạn không chỉ áp dụng ScaleTransform cho số 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

Điều này sẽ không hoạt động với độ trong suốt. – msbg

+2

không có SaveJpeg trong WriteableBitmap – Nayef

+0

@Nayef: đó là [phương pháp khuyến nông] (https://msdn.microsoft.com/en-uS/office/office365/system.windows.media.imaging.extensions.savejpeg%28v= vs.105% 29.aspx) trong một không gian tên khác. – abatishchev