将WriteableBitmap转换为Byte数组 – Windows Phone 8.1 – Silverlight
我在Web上找到以下代码将WriteableBitmap转换为字节数组,但此代码不适用于Silverlight。 有人可以告诉我需要哪些更改才能使其与Silverlight一起使用。
byte[] ConvertBitmapToByteArray(WriteableBitmap bitmap) { WriteableBitmap bmp = bitmap; using (Stream stream = bmp.PixelBuffer.AsStream()) { MemoryStream memoryStream = new MemoryStream(); stream.CopyTo(memoryStream); return memoryStream.ToArray(); } }
它给出以下错误消息:
‘System.Windows.Media.Imaging.WriteableBitmap’不包含’PixelBuffer’的定义,也没有扩展方法’PixelBuffer’接受类型为’System.Windows.Media.Imaging.WriteableBitmap’的第一个参数’(是你吗?)缺少using指令或程序集引用?)
我在另一个项目中使用了这个方法。 此片段属于sara silva 。
public static byte[] ConvertToByteArray(WriteableBitmap writeableBitmap) { using (var ms = new MemoryStream()) { writeableBitmap.SaveJpeg(ms, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100); return ms.ToArray(); } }
msdn文档
试试这个 :
public static byte[] ConvertToByteArray(WriteableBitmap writeableBitmap) { using (MemoryStream ms = new MemoryStream()) { writeableBitmap.SaveJpeg(ms, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100); return ms.ToArray(); } }