C# 从双数组生成和渲染位图
我是c#的新手,我肯定我错过了一些简单的东西 我正在尝试从双数组中的整数值(0-255)构建位图,然后在PictureBox中进行渲染。我想我的位图正在生成,但它没有显示在我的PictureBox中C# 从双数组生成和渲染位图,c#,C#,我是c#的新手,我肯定我错过了一些简单的东西 我正在尝试从双数组中的整数值(0-255)构建位图,然后在PictureBox中进行渲染。我想我的位图正在生成,但它没有显示在我的PictureBox中 Bitmap bmp = new Bitmap(image_width, image_height); Color pxl_color = new Color(); for (int i = 0; i < image_width; i++) { for (int j = 0; j
Bitmap bmp = new Bitmap(image_width, image_height);
Color pxl_color = new Color();
for (int i = 0; i < image_width; i++)
{
for (int j = 0; j < image_height; j++)
{
pxl_color = Color.FromArgb(array_bitmap[i][j]);
bmp.SetPixel(i, j, pxl_color);
}
}
PictureBox1.Image = bmp;
致:
解决了这个问题。这段代码按原样为我工作,只是我生成了随机值,而不是使用
数组\u位图
。检查并确保位图对象没有因为某种原因被GC破坏(可能将其存储在实例变量中)。这也可能是一个绘画问题,您必须刷新或重新绘制picturebox或整个表单。通过将颜色的alpha值设置为零,检查您是否使图像透明。32位ARGB值的字节顺序为aarggbb。最高有效字节(MSB)由AA表示,是alpha分量值。确保颜色数组中的alpha大于零
还可以尝试将PictureBox sizeMode设置为AutoSize
pxl_color=Color.FromArgb(array_bitmap[i][j]);
pxl_color=Color.FromArgb(array_bitmap[i][j],array_bitmap[i][j],array_bitmap[i][j]);