我需要在C#
中显示这个双重图片框数组double[,] Y1 = new double[width, height];//not empty array contain brightness from RGB
R = new byte [width, height];
G = new byte [width, height];
B = new byte [width, height];
Bitmap bmp4 = new Bitmap(width, height);
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
Y1[x, y] = (0.39 * R[x,y]) + (0.59 * G[x,y]) + (0.12 * B[x,y]);
Int32 zz = Convert.ToInt32(Y1[x, y]);
bmp4.SetPixel(x, y, zz);
}
}
pictureBox6.Image=bmp4;
我使用此代码进行显示但是没有工作是否有其他显示数组的方法
图片框中的double(Brightness)
(bmp文件)
答案 0 :(得分:0)
您无法直接从整数转换为颜色。使用Color.FromArgb()
可以指定颜色的整数值。
FromArgb()
采用32位整数,其中每个字节代表Alpha,Red,Green,Blue(因此为Argb)之一。请记住,如果您想要任何具有超过一半不透明度(Alpha)值的像素,则传递的整数将需要为负值。
如果您的Y1数组中没有任何负值,则需要在执行FromArgb()
转换时应用以下内容。
colors[x,y]= Color.FromArgb(zz | (255 << 24))
希望有所帮助。