【问题标题】:Picture from MediaLibrary to Base64 String图片从 MediaLibrary 到 Base64 字符串
【发布时间】:2015-12-09 09:04:32
【问题描述】:

我有以下代码从相机胶卷中检索图片:

private string getBase64Image(Geophoto item)
{
    MediaLibrary mediaLibrary = new MediaLibrary();
    var pictures = mediaLibrary.Pictures;
    foreach (var picture in pictures)
    {
        var camerarollPath = picture.GetPath();
        if (camerarollPath == item.ImagePath)
        {
            // Todo Base64 convert here
        }
    }

    return "base64";
}

我现在的问题是如何将Picture 转换为Base64 字符串?

【问题讨论】:

  • 我可以想象你想将 ImagePath(不确定它是什么数据类型)转换为字符串,然后 var bytes = Encoding.UTF8.GetBytes(stringToConvert); var base64 = Convert.ToBase64String(bytes);
  • item.ImagePath 仅包含图像的路径。我需要转换图像本身而不是图像的路径...
  • 获取图像对象,将图像转换为字节。将字节转换为 Base64 字符串

标签: c# image windows-phone-8 base64


【解决方案1】:

使用GetStream 方法从Picture 实例中获取Stream。从流中获取字节数组。使用Convert.ToBase64String方法将字节转换为Base64字符串。

Stream imageStream = picture.GetImage();
using (var memoryStream = new MemoryStream())
{
    imageStream.CopyTo(memoryStream);
    byte[] buffer = memoryStream.ToArray();
    // this is the Base64 string you are looking for
    string base64String = Convert.ToBase64String(buffer);
}

【讨论】:

  • 谢谢,我只需要将picture.GetStream() 改为picture.GetImage()
  • 感谢您的评论。你是对的 - 我已经更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
相关资源
最近更新 更多