我在图片框中为显示Y1(亮度)编写此代码:
R = new byte [width, height];// R,G,B not empty contain data
G = new byte [width, height];
B = new byte [width, height];
Y1 = new double[width, height];
Bitmap bmp4 = new Bitmap(width, height);
Int32 zz;
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]);
zz = Convert.ToInt32(Y1[x, y]);
bmp4.SetPixel(x, y, Color.FromArgb(zz ));
}
当我执行此代码图片框为空时不显示图片,为什么? c#中的代码和图像类型是位图
答案 0 :(得分:0)
我还没有时间看这个,但问题似乎是你将字节转换为颜色(将每个像素设置为Color.Red,例如,工作正常)。
当然,我也假设你在代码之后调用它:
picturebox.Image = bmp4;
Color.FromArgb 期望int32还包含alpha数据,我怀疑这是你的问题所在。