コード例 #1
0
            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);
                }
            }
コード例 #2
0
            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;
                }
            }
コード例 #3
0
        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);
        }