【问题标题】:Converting WriteableBitmap to Byte array - Windows phone 8.1 - Silverlight将 WriteableBitmap 转换为字节数组 - Windows phone 8.1 - Silverlight
【发布时间】:2015-03-30 16:34:48
【问题描述】:

我在 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”的定义,并且找不到接受“System.Windows.Media.Imaging.WriteableBitmap”类型的第一个参数的扩展方法“PixelBuffer” (您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • 我不确定,但也许this way 会起作用。

标签: c# silverlight windows-phone-8.1


【解决方案1】:

我在另一个项目中使用了这种方法。这个sn-p属于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

【讨论】:

    【解决方案2】:

    试试这个:

    public static byte[] ConvertToByteArray(WriteableBitmap writeableBitmap)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    writeableBitmap.SaveJpeg(ms, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100);
    
                    return ms.ToArray();
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多