我正在尝试将.jpg或.png文件转换为可写位图。我在另一个源中获取图像并转换为base64编码。删除包装后,我有宽度,高度和base64数据。然后我用:
var base64 = dataurl.Substring(dataurl.IndexOf("base64,") + 7);
binData = Convert.FromBase64String(base64);
这给了我图像的二进制数据。问题确实在于我正在为Windows Phone 8编写这个,所以我限制了我可以使用的库和方法。显而易见的选择是:
using (var stream = new MemoryStream(binData, 0, binDta.Length, true, true))
{
var wbp = new WriteableBitmap(1,1).LoadJpeg(stream);
}
但是我从WriteableBitmap库得到一个System.ArgumentException。任何适用于Windows Phone 8的想法?
答案 0 :(得分:1)
您应该确保base64解码数据确实是JPG和PNG之类的有效格式。 然后我建议你尝试WriteableBitmapEx FromStream方法:
var wbp = new WriteableBitmap(1, 1).FromStream(stream);