把只有像素的byte[]数组显示到image控件上
今天上班的时候需要实现将c++里传出来的图像像素数据显示到image控件上。已知图像的长宽,通道数等。这里用到了BitmapSource。
private void showPic(int w, int h, byte[] rawArray)
{
//这里设置步长,(宽*你图像的格式.BitsPerPixel+7)/8
int rawStride = (w * PixelFormats.Bgr24.BitsPerPixel + 7) / 8;
//创建一个BitmapSource
//w-图像宽度
//h-图像高度
//96-dpix(不知道干嘛的,好像都用96)
//96-dpiy
//PixelFormats.Bgr24-图像的类型,我这边是BGR三通道24位的,用的时候分辨自己的图的类型
//null-调色板,可以直接null
//rawArray-像素数组
//rawStride上面设置的步长
BitmapSource bitmap = BitmapSource.Create(w, h,96, 96, PixelFormats.Bgr24, null, rawArray, rawStride);
//创建完控件直接调用就可以了
image.Source = bitmap;
}
本文介绍如何使用C#的BitmapSource从byte[]数组显示图像到WPF Image控件中,包括设置图像的宽度、高度及像素格式。

2万+

被折叠的 条评论
为什么被折叠?



