[英]C# Convert BitmapImage object to ByteArray
如何將BitmapImage類型的對象轉換為字節數組?
網絡上有很多示例,但所有示例都使用Windows Store應用程序不再存在的方法。
我發現的最佳解決方案是此,但是嘗試運行它時在第一行代碼中出現異常
public static byte[] ConvertBitmapToByteArrayAsync(WriteableBitmap bitmap)
{
using (var stream = bitmap.PixelBuffer.AsStream())
{
MemoryStream memoryStream = new MemoryStream();
stream.CopyTo(memoryStream);
return memoryStream.ToArray();
}
}
例外:
類型為“ System.AccessViolationException”的第一次機會異常發生在System.Runtime.WindowsRuntime.dll中
附加信息:嘗試讀取或寫入受保護的內存。 這通常表明其他內存已損壞。
從我可以收集的數據來看,它可能與流的大小有關,但我一直無法弄清楚如何解決它。
我希望這可以幫助您:
// Converting Bitmap to byte array
private byte[] ConvertBitmapToByteArray(Bitmap imageToConvert)
{
MemoryStream ms = new System.IO.MemoryStream();
imageToConvert.Save(ms, ImageFormat.Png);
return ms.ToArray();
}
// Converting byte array to bitmap
private Bitmap ConvertBytesToBitmap(byte[] BytesToConvert)
{
MemoryStream ms = new MemoryStream(BytesToConvert);
try { return new Bitmap(ms); }
catch { return null; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.