我必须保存大量数据,并且我选择将它们保存为其中的图像
每个像素的值都为[0,1](包括)。{0->白色/ 1->黑色)。
如何将[0,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));