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