public override unsafe ColorBgra Apply (ColorBgra color, int area, int* hb, int* hg, int* hr, int* ha) { var normalized = GetPercentileOfColor (color, area, hb, hg, hr, ha); var lerp = strength * (1 - 0.75 * color.GetIntensity ()); return ColorBgra.Lerp (color, normalized, lerp); }
public override unsafe ColorBgra Apply(ColorBgra color, int area, int *hb, int *hg, int *hr, int *ha) { ColorBgra normalized = GetPercentileOfColor(color, area, hb, hg, hr, ha); double lerp = Strength * (1 - 0.75 * color.GetIntensity()); return(ColorBgra.Lerp(color, normalized, lerp)); }
public override ColorBgra Apply (ColorBgra color) { // The higher the saturation, the more red it is var saturation = GetSaturation (color); // The higher the difference between the other colors, the more red it is var difference = color.R - Math.Max (color.B, color.G); // If it is within tolerence, and the saturation is high if ((difference > tolerence) && (saturation > 100)) { var i = 255.0 * color.GetIntensity (); var ib = (byte)(i * set_saturation); // adjust the red color for user inputted saturation return ColorBgra.FromBgra ((byte)color.B, (byte)color.G, ib, color.A); } else { return color; } }
public override ColorBgra Apply(ColorBgra color) { // The higher the saturation, the more red it is int saturation = GetSaturation(color); // The higher the difference between the other colors, the more red it is int difference = color.R - Math.Max(color.B, color.G); // If it is within tolerence, and the saturation is high if ((difference > tolerence) && (saturation > 100)) { double i = 255.0 * color.GetIntensity(); byte ib = (byte)(i * setSaturation); // adjust the red color for user inputted saturation return(ColorBgra.FromBgra((byte)color.B, (byte)color.G, ib, color.A)); } else { return(color); } }