Мне нужно смешать несколько цветов естественным образом. Это означает
blue + yellow = green
blue + red = purple
И так далее. Я получил цвета как значения RGB. Когда я пытаюсь их смешать, я получаю правильный "RGB" результат, например
green + red = yellow
yellow + blue = white
Но не правильные «натуральные мокрые краски» - результаты. Есть хорошая идея, как смешивать RGB естественным образом?
Было бы здорово, если бы кто-то знал решение в пространстве имен Microsoft.Xna.Framework.Graphics
, но общее решение тоже помогло бы :)
@ Джей Базузи:
Отправьте образец кода, который показывает, что вы пытаетесь сделать.
Конечно - это моя функция для смешивания двух цветов RGB.
public Color colorMixer(Color c1, Color c2)
{
int _r = Math.Min((c1.R + c2.R),255);
int _g = Math.Min((c1.G + c2.G),255);
int _b = Math.Min((c1.B + c2.B),255);
return new Color(Convert.ToByte(_r),
Convert.ToByte(_g),
Convert.ToByte(_b));
}
То, что я прочитал до сих пор в этой ветке, очень многообещающе - я конвертирую C1 и C2 в L a b *, смешиваю их - конвертирую обратно в RGB и возвращаю этот цвет.