【问题标题】:BitmapImage to Base64 in Windows Phone 8.1Windows Phone 8.1 中的 BitmapImage 到 Base64
【发布时间】:2015-02-13 13:16:33
【问题描述】:

我正在编写一个 Windows Phone 8.1 应用程序 (WINRT)。

我使用 FileOpenPicker 挑选了一张照片。如何将此 BitmapImage 转换为 Base64

或任何其他解决方案,如 BitmapImage 到图像到内存流到字节,最后到 base64?

我目前的方法是只给我“AAAAAAAAAAAAAAAAAAA”:

 private void ConvertImageToBase64(BitmapImage BitmapImageObject)
        {
            byte[] bytearrayObject = null;

            MemoryStream MemoryStreamObject = new MemoryStream();
            WriteableBitmap WriteableBitmapObject = new WriteableBitmap(BitmapImageObject.DecodePixelWidth, BitmapImageObject.DecodePixelHeight);
            Stream StreamObject = WriteableBitmapObject.PixelBuffer.AsStream();
            StreamObject.CopyTo(MemoryStreamObject);
            bytearrayObject = MemoryStreamObject.ToArray();
            finalBase64 = Convert.ToBase64String(bytearrayObject);          

        }

【问题讨论】:

    标签: c# windows-phone base64 windows-phone-8.1 bitmapimage


    【解决方案1】:

    您正在转换一个空缓冲区:您的 WriteableBitmap 中没有任何数据。即使你这样做了,那也可能不是你想要的。您通常希望编码位图文件格式(png、jpg 等)而不是原始像素。这就是您在将文件选择器解码为 BitmapImage 之前从文件选择器中获得的信息。只需打开 StorageFile,获取其数据流,然后在其上调用 ToBase64String。

    【讨论】:

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