Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从双数组生成和渲染位图_C# - Fatal编程技术网

C# 从双数组生成和渲染位图

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

我是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 < 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]);