有沒有辦法將ImageSource對象轉換爲字節數組? 我有一個ImageSource對象綁定到一個WPF窗口,我可以從數據庫轉換一個字節數組並將其轉換爲ImageSource,但我不能以相反的方式做到這一點。將System.Windows.Media.ImageSource轉換爲ByteArray
Thx提前。
編輯:我試圖將ImageSource轉換爲BitmapImage,但得到一個空對象。
有沒有辦法將ImageSource對象轉換爲字節數組? 我有一個ImageSource對象綁定到一個WPF窗口,我可以從數據庫轉換一個字節數組並將其轉換爲ImageSource,但我不能以相反的方式做到這一點。將System.Windows.Media.ImageSource轉換爲ByteArray
Thx提前。
編輯:我試圖將ImageSource轉換爲BitmapImage,但得到一個空對象。
即使你的ImageSource不是一個BitmapImage的,你還可以成功地將其轉換爲BitmapSource
,這是基類的所有WPF位圖類,如BitmapImage的,BitmapFrame,WriteableBitmap的,RenderTargetBitmap等(見here)。
public byte[] ImageSourceToBytes(BitmapEncoder encoder, ImageSource imageSource)
{
byte[] bytes = null;
var bitmapSource = imageSource as BitmapSource;
if (bitmapSource != null)
{
encoder.Frames.Add(BitmapFrame.Create(bitmapSource));
using (var stream = new MemoryStream())
{
encoder.Save(stream);
bytes = stream.ToArray();
}
}
return bytes;
}
檢查:
所以,如果您的ImageSource實際上是一個的BitmapSource(而不是DrawingImage或D3DImage),下面的方法通過使用指定的BitmapEncoder(如PngBitmapEncoder)將其轉換爲一個字節數組該屬性FileBytes – 2015-03-31 23:43:57
嗨,沒有這樣的屬性。 – 2015-03-31 23:49:31
您現在嘗試使用的代碼是什麼? – 2015-04-01 01:31:18