从base64String加载的BitmapImage

编程入门 行业动态 更新时间:2024-10-26 18:20:08
本文介绍了从base64String加载的BitmapImage的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我如何能够装载的BitmapImage 从 base64String 在 Windows 8的?

我试过,但我没有成功。它用来在Windows Phone上运行。什么是不同的?

看起来像我不得不使用功能setsourceasync。当我使用这一点,那么我需要传递参数作为IRandomMemory对此我无法做到。如何做到这一点?

公共静态的BitmapImage Base64ToImage(字符串base64String) {变种的BitmapImage =新的BitmapImage(); 试 {如果 { VAR imageBytes = Convert.FromBase64String(base64String)(String.IsNullOrEmpty(base64String)!); 使用(VAR毫秒=新的MemoryStream(imageBytes,0,imageBytes.Length)) { bitmapImage.SetSourcec(毫秒); 返回BitmapImage的; } } } 赶上(例外五) { } 返回NULL; }

解决方案

要创建 IRandomAccessStream 的的SetSource 方式的对象,您需要使用的 DataWriter 。看看这个代码:

公共异步任务<&的BitmapImage GT;的getImage(字符串值) {如果(价值== NULL)返回NULL; VAR缓冲= System.Convert.FromBase64String(值); 使用(InMemoryRandomAccessStream毫秒​​=新InMemoryRandomAccessStream()) {使用(DataWriter作家=新DataWriter(ms.GetOutputStreamAt(0))) {作家。 WriteBytes(缓冲液); 等待writer.StoreAsync(); } 变种形象=新的BitmapImage(); image.SetSource(毫秒); 返回图像; } }

How can I load a bitmapImage from base64String in windows 8?

I tried this but I am not successful. It used to work on windows phone. What is different?

Looks like I have to use the function setsourceasync. When I use that, then I am required to pass the parameter as IRandomMemory which I am unable to do. How to do this?

public static BitmapImage Base64ToImage(string base64String) { var bitmapImage = new BitmapImage(); try { if (!String.IsNullOrEmpty(base64String)) { var imageBytes = Convert.FromBase64String(base64String); using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) { bitmapImage.SetSourcec(ms); return bitmapImage; } } } catch (Exception e) { } return null; }

解决方案

To create an IRandomAccessStream object for the SetSource method, you need to use a DataWriter. Take a look to this code:

public async Task<BitmapImage> GetImage(string value) { if (value == null) return null; var buffer = System.Convert.FromBase64String(value); using (InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream()) { using (DataWriter writer = new DataWriter(ms.GetOutputStreamAt(0))) { writer.WriteBytes(buffer); await writer.StoreAsync(); } var image = new BitmapImage(); image.SetSource(ms); return image; } }

更多推荐

从base64String加载的BitmapImage

本文发布于:2023-11-26 19:29:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1634895.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加载   base64String   BitmapImage

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!