コード例 #1
0
        /// <summary>
        /// Generate colors evely spaced out on a given gradient.
        /// </summary>
        /// <param name="colorCount"></param>
        /// <param name="gradient"></param>
        /// <param name="jitter"></param>
        /// <returns></returns>
        public static List<ColorHSL> GenerateColorsEvenGradient(
			int colorCount,
			GradientHSL gradient,
			float jitter)
        {
            return gradient.SampleEvenly(colorCount, jitter).ToList();
        }
コード例 #2
0
        /// <summary>
        /// Returns a gradient that represents a linear interpolation between two colors.
        /// </summary>
        /// <param name="color1">The left end of the gradient.</param>
        /// <param name="color2">The right end of the gradient.</param>
        /// <returns>A GradientHSL that represents a linear interpolation between color1 and color2.</returns>
        public static GradientHSL GetLerp(ColorHSL color1, ColorHSL color2)
        {
            var gradient = new GradientHSL();

            var leftColorKey = new GradientHSLColorKey(color1, 0);
            var rightColorKey = new GradientHSLColorKey(color2, 1);

            gradient.SetKeys(
                new[] { leftColorKey, rightColorKey });

            return gradient;
        }
コード例 #3
0
ファイル: GradientHSL.cs プロジェクト: MRGS/ArcadeRoyale
        /// <summary>
        /// Returns a gradient that represents a linear interpolation between two colors.
        /// </summary>
        /// <param name="color1"></param>
        /// <param name="color2"></param>
        /// <returns></returns>
        public static GradientHSL GetLerp(ColorHSL color1, ColorHSL color2)
        {
            var gradient = new GradientHSL {curve = ResponseCurveHSL.GetLerp(0, 1, color1, color2)};

            return gradient;
        }
コード例 #4
0
        /// <summary>
        /// Gives a list of colors where that maximises distance on 
        /// the gradient between consecutaive colors.
        /// </summary>
        /// <param name="colorCount"></param>
        /// <param name="gradient"></param>
        /// <returns></returns>
        public static List<ColorHSL> GenerateColorsGoldenRatioGradient(int colorCount, GradientHSL gradient)
        {
            var colors = new List<ColorHSL>();
            var t = Random.value;

            for (int i = 0; i < colorCount; i++)
            {
                var newColor = gradient.Evaluate(t);

                colors.Add(newColor);

                t += GoldenRatioConjugate;
                t %= 1.0f;

            }

            return colors;
        }
コード例 #5
0
        /// <summary>
        /// Generates a list of colours randomly sampled from a gradient.
        /// </summary>
        /// <param name="colorCount"></param>
        /// <param name="gradient"></param>
        /// <returns></returns>
        public static List<ColorHSL> GenerateColorsRandomGradient(int colorCount, GradientHSL gradient)
        {
            var colors = new List<ColorHSL>();

            for (int i = 0; i < colorCount; i++)
            {
                var color = gradient.Evaluate(Random.value);
                colors.Add(color);
            }

            return colors;
        }