加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何将字节数组转换为ImageSource for Windows 8.0商店应用程序

发布时间:2020-12-14 02:56:15 所属栏目:Windows 来源:网络整理
导读:我正在开发 Windows 8商店应用程序.我是新来的. 我正在以字节数组(byte [])的形式接收图像. 我必须将其转换回Image并在Image Control中显示它. 到目前为止我在屏幕上有按钮和图像控件.当我点击按钮时,我调用以下功能 private async Task LoadImageAsync(){ b
我正在开发 Windows 8商店应用程序.我是新来的.

我正在以字节数组(byte [])的形式接收图像.

我必须将其转换回Image并在Image Control中显示它.

到目前为止我在屏幕上有按钮和图像控件.当我点击按钮时,我调用以下功能

private async Task LoadImageAsync()
{
    byte[] code = //call to third party API for byte array
    System.IO.MemoryStream ms = new MemoryStream(code);
    var bitmapImg = new Windows.UI.Xaml.Media.Imaging.BitmapImage();

    Windows.Storage.Streams.InMemoryRandomAccessStream imras = new Windows.Storage.Streams.InMemoryRandomAccessStream();

    Windows.Storage.Streams.DataWriter write = new Windows.Storage.Streams.DataWriter(imras.GetOutputStreamAt(0));
    write.WriteBytes(code);
    await write.StoreAsync();
    bitmapImg.SetSourceAsync(imras);
    pictureBox1.Source = bitmapImg;
}

这不能正常工作.任何的想法?
当我调试时,我可以看到以ms为单位的字节数组.但它没有转换为bitmapImg.

解决方法

我在 Codeproject找到了以下内容

public class ByteImageConverter
{
    public static ImageSource ByteToImage(byte[] imageData)
    {
        BitmapImage biImg = new BitmapImage();
        MemoryStream ms = new MemoryStream(imageData);
        biImg.BeginInit();
        biImg.StreamSource = ms;
        biImg.EndInit();

        ImageSource imgSrc = biImg as ImageSource;

        return imgSrc;
    }
}

此代码应该适合您.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读