显示并保存2D灰度像素阵列

时间:2013-08-06 20:07:15

标签: c# image bmp

我有一个黑/白线传感器,它给我扫描数据的灰度值(0-255)。我想将这些值保存为位图(.bmp),并将它们显示在图片框中。我目前的代码如下:

        PixelFormat px = PixelFormat.Canonical;
        Bitmap bitmap = new Bitmap(width, height, px);
        int[,] GreyScaleArray2D = new int[width,height];

        for (int yy = 0; yy < (lb_SpReceivedData.Count-width); yy += width)
        {
            for (int xx = 0; xx < width; xx++)
            {
                GreyScaleArray2D[xx,tmp] = lb_SpReceivedData[(yy+xx)];
            }
            tmp++;
        }

        for (int y = 0; y < height; y++)
        {
           for (int x = 0; x < width; x++)
           {
              int red = GreyScaleArray2D[x,y]; // read from array
              int green = GreyScaleArray2D[x,y]; // read from array
              int blue = GreyScaleArray2D[x,y]; // read from array
              bitmap.SetPixel(x, y, Color.FromArgb(0, red, green, blue));
           }
        }

        pictureBox1.Image = bitmap; 
  1. 问题)如果我通过

    ,我会收到无效参数错误
         PixelFormat.Canonical
    

    到位图构造函数。

  2. 问题)即使我将位图传递给我的图片框,也没有什么可以在图片框中看到的!我做错了什么?

  3. 感谢

0 个答案:

没有答案