Усилить цвета RGB с помощью C # - PullRequest
1 голос
/ 06 октября 2011

Мне нужно усилить канал / цвета RGB числом, которое может выбрать пользователь. У меня есть следующий код, но я не уверен, что это правильно. Может кто-нибудь сказать мне, что я могу изменить или могу сделать лучше.

int value = int.Parse(textBoxConstante.Text);

for (int y = 0; y < myPic.Height; y++)
{
    for (int x = 0; x < myPic.Width; x++)
    {
        Color c = myPic.GetPixel(x, y);
        myPic.SetPixel(x, y, Color.FromArgb(c.R * value /10, c.G * value/10, c.B * value/10));
    }
}

1 Ответ

1 голос
/ 06 октября 2011

Я не запускал ваш код, но подозреваю, что у вас проблемы с c # отсутствием неявного двойного приведения ... Попробуйте переписать его так:

.FromArgb((int)(c.R * ((double)value /10)), [the rest wrapped the same way]
...