位图未解析为函数变量

时间:2015-09-29 13:05:54

标签: c# bitmapdata

我得到了一些简单的代码来获得5位图的平均颜色。

    private Bitmap AVG5Bitmaps(Bitmap a, Bitmap b, Bitmap c, Bitmap d, Bitmap e)
    {
        Bitmap result = new Bitmap(c);

        for (int x = 0; x < result.Width; x++) 
        {
            for (int y = 0; y < result.Height; y++) 
            {
                int r = (
                        (int)a.GetPixel(x, y).R + 
                        (int)b.GetPixel(x, y).R +
                        (int)c.GetPixel(x, y).R +
                        (int)d.GetPixel(x, y).R +
                        (int)e.GetPixel(x, y).R) / 5;

                int g = (
                         (int)a.GetPixel(x, y).G +
                         (int)b.GetPixel(x, y).G +
                         (int)c.GetPixel(x, y).G +
                         (int)d.GetPixel(x, y).G +
                         (int)e.GetPixel(x, y).G) / 5;

                int b =  (
                         (int)a.GetPixel(x, y).B +
                         (int)b.GetPixel(x, y).B +
                         (int)c.GetPixel(x, y).B +
                         (int)d.GetPixel(x, y).B +
                         (int)e.GetPixel(x, y).B) / 5;

                  result.SetPixel(x,y,Color.FromArgb(r,g,b))
            }
        }
       return result; 
    }

奇怪的是a.GetPixel(x, y).R已被识别,但是b.GetPixel(x, y).R会出错:

  

在声明

之前不能使用局部变量b

b甚至不被视为位图对象?我没理解,为什么代码适用于a但不适用于b。这是Visual Studio 2010的错误吗?

根据要求更新了完整功能代码的问题

1 个答案:

答案 0 :(得分:1)

你的专栏:

int b = 

隐藏参数b,因此您尝试在其assignmnent中访问该变量。因此错误。重命名变量。