System.Drawing.Image不包含'GetPixel','LockImage'的定义

时间:2011-11-08 04:29:43

标签: c#-4.0

我正在设置C#中的图像对比度,但我收到错误说

  

“System.Drawing.Image不包含。的定义   'GetPixel', 'LockImage'“

以下代码。

 public static Bitmap AdjustContrast(Bitmap OriginalImage, float Value)
        {
            Bitmap NewBitmap = new Bitmap(OriginalImage.Width, OriginalImage.Height);
            BitmapData NewData =
                Image.LockImage(NewBitmap);

            BitmapData OldData = Image.LockImage(OriginalImage);
            int NewPixelSize = Image.GetPixelSize(NewData);
            int OldPixelSize = Image.GetPixelSize(OldData);
            Value = (100.0f + Value) / 100.0f;
            Value *= Value;

            for (int x = 0; x < NewBitmap.Width; ++x)
            {
                for (int y = 0; y < NewBitmap.Height; ++y)
                {
                    Color Pixel = Image.GetPixel(OldData, x, y, OldPixelSize);
                    float Red = Pixel.R / 255.0f;
                    float Green = Pixel.G / 255.0f;
                    float Blue = Pixel.B / 255.0f;
                    Red = (((Red - 0.5f) * Value) + 0.5f) * 255.0f;
                    Green = (((Green - 0.5f) * Value) + 0.5f) * 255.0f;
                    Blue = (((Blue - 0.5f) * Value) + 0.5f) * 255.0f;
                    Image.SetPixel(NewData, x, y,
                      Color.FromArgb(MathHelper.Clamp((int)Red, 255, 0),
                        MathHelper.Clamp((int)Green, 255, 0),
                       MathHelper.Clamp((int)Blue, 255, 0)),
                       NewPixelSize);
                }
            }
            Image.UnlockImage(NewBitmap, NewData);
            Image.UnlockImage(OriginalImage, OldData);
            return NewBitmap;
        }

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:2)

您收到该错误是因为编译器看到了Image并尝试在GetPixel类中查找LockImageSystem.Drawing.Image方法。那个方法在那个类中不存在,所以你得到了错误。

您好像是从James Craig's blog获取代码,特别是this page。在他的片段底部,他指出某些方法来自他的实用程序库,并且他具体命名为LockImage。如果你还没有这样做,请下载他的实用程序库(我链接的页面上有一个链接),我想你会找到这个方法并GetPixel

当您使用实用程序库时,请确保指定名称空间以消除实用程序库中的类以及标准Microsoft库中的类的歧义。