当前位置:  开发笔记 > 编程语言 > 正文

从Byte []显示图像的最简单方法是什么?

如何解决《从Byte[]显示图像的最简单方法是什么?》经验,为你挑选了1个好方法。



1> Clemens..:

BitmapImage.StreamSource属性仅接受包含编码位图缓冲区的流,例如PNG或JPEG.

为了从原始像素数据创建BitmapSource(基类BitmapImage),您可以使用该BitmapSource.Create()方法.根据每个像素的位数以及alpha和颜色通道的顺序,您还必须选择合适的位数PixelFormat.

假设有一个8位灰度格式,你可以像这样创建一个BitmapSource:

private BitmapSource LoadImage(int width, int height, byte[] imageData)
{
    var format = PixelFormats.Gray8;
    var stride = (width * format.BitsPerPixel + 7) / 8;

    return BitmapSource.Create(width, height, 96, 96, format, null, imageData, stride);
}

当然,您还必须将属性的类型更改为BitmapSource(无论如何更灵活,因为您仍然可以分配BitmapImage).

public BitmapSource Picture { get; set; }

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有