灰度像素/值关系

时间:2019-01-04 19:36:31

标签: c# image encoding pixel

我必须保存大量数据,并且我选择将它们保存为其中的图像

每个像素的值都为[0,1](包括)。{0->白色/ 1->黑色)。

如何将[0,1]值编码为像素颜色?

1 个答案:

答案 0 :(得分:0)

通常,图像数据使用R,G,B,它们存储为无符号字节(例如,它们的值在0-255之间)。因此,您需要将[0,1]值乘以255,以获得相应的像素值。根据创建图像的方式,您可能需要将其作为字节数组或Color对象:

float colorvalue = 0.6f;
// as a byte array:
byte[] rgb = new byte[3];
rgb[0] = (byte)(colorvalue * 255);
rgb[1] = (byte)(colorvalue * 255);
rgb[2] = (byte)(colorvalue * 255);
//as a color:
Color newcol = Color.FromArgb((int)(colorvalue * 255), (int)(colorvalue * 255), (int)(colorvalue * 255));