Я работаю над настройкой контрастности изображения в 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;
}
Любое предложение будет полезным.