Я пытаюсь реализовать яркую цветовую смесь цвета в коде (думаю, C# на данный момент). Я нашел две страницы, которые говорят, как это сделать, но я не понимаю их обозначений.Как реализовать яркую цветовую смесь цвета в коде?
http://www.deepskycolors.com/archive/2010/04/21/formulas-for-Photoshop-blending-modes.html https://en.wikipedia.org/wiki/Blend_modes
ли кто-нибудь понять, как преобразовать его в код? С моего конца у меня есть два объекта Color с значениями r, g, b. Может ли кто-нибудь показать алгоритм, но используя значения r, g, b?
Благодаря
Вот мой нерабочим реализация:
using System;
using System.Drawing;
namespace CardMaker
{
class VividLight : ColorFilter
{
public override Color GetFilteredColor(Color p1, Color p2)
{
int newR = Math.Max(0, Math.Min(255, Convert.ToInt32(GetColor(p1.R, p2.R))));
int newG = Math.Max(0, Math.Min(255, Convert.ToInt32(GetColor(p1.G, p2.G))));
int newB = Math.Max(0, Math.Min(255, Convert.ToInt32(GetColor(p1.B, p2.B))));
return Color.FromArgb(newR, newG, newB);
}
private static double GetColor(int c1, int c2)
{
if (c2 > 128)
{
return 256 - ((256 - c1)/(512 * (c2 - 128)));
}
else
{
return c1/(256 - 512 * c2);
}
}
}
}