Skip to main content
 首页 » 编程设计

c#之将 WriteableBitmap 转换为字节数组之Windows phone 8.1之Silverlight

2024年08月06日38lhb25

我在网上找到了以下代码将 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' does not contain a definition for 'PixelBuffer' and no extension method 'PixelBuffer' accepting a first argument of type 'System.Windows.Media.Imaging.WriteableBitmap' could be found (are you missing a using directive or an assembly reference?)

请您参考如下方法:

我在另一个项目中使用了这个方法。此代码段属于 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 documentation