【发布时间】:2016-05-12 21:30:37
【问题描述】:
我目前正在尝试将从 RenderTargetBitmap 获得的 IBuffer 转换为 Base64String,反之亦然。我在 Silverlight 中成功完成了类似的操作,但现在在 Windows 运行时中缺少很多库,我不知道现在该尝试什么。
下面是我最新的示例代码,它不会出错,但是当我尝试运行它时它会让我的应用程序崩溃。有什么建议吗?
提前致谢
var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(drawingPanel);
IBuffer pixel = await bitmap.GetPixelsAsync();
String b64 = CryptographicBuffer.EncodeToBase64String(pixel);
IBuffer backpixel = CryptographicBuffer.DecodeFromBase64String(b64);
WriteableBitmap wb = new WriteableBitmap(bitmap.PixelWidth, bitmap.PixelHeight);
wb.SetSource(backpixel.AsStream().AsRandomAccessStream());
imageBox.Source = wb;
imageBox 是一个 XAML 元素,用于检查转换是否成功
编辑:这段代码没有异常,应用程序只是冻结
【问题讨论】:
-
在哪一行出现异常
-
也不例外。它的字面意思是什么都没有发生。我单步执行了代码,所有变量都填满了,但最终结果什么都没有
标签: c# windows-runtime windows-phone-8.1 win2d