我有一个672 * 472 * 3大小的double类型(图像的r-g-b通道)。每个像素位置的值范围为0.000至5.0000。 我需要将数据显示为图片框上的图像。我怎么能在c#中做到这一点。
答案 0 :(得分:1)
您可以使用SetPixel()
创建一个新的Bitmap对象并根据数组中的数据设置像素见这里:
http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setpixel.aspx
您必须使用两个循环遍历数组并将0-5范围转换为0-255以创建颜色对象。
然后您可以简单地将位图分配给PictureBox的Image-Property。
这是否足够具体?
编辑:
您可以通过简单地除以5并将每个组件乘以255来转换范围为0.0000到0.5000的双打。 e.g。
bmpBitmap.SetPixel(iX, iY,
Color.FromArgb((int)(arArray[iX, iY, 0] / 5 * 255),
(int)(arArray[iX, iY, 1] / 5 * 255),
(int)(arArray[iX, iY, 2] / 5 * 255)
);
您可能需要调整数组索引。