Beispiel #1
0
        public ColorScheme GenerateMonochromeScheme(float hue, IRNG random)
        {
            var colors = new HSVColor[this.colorCount];

            for (var index = 0; index < this.colorCount; index++)
            {
                var value = this.colorGenerator.ValueRange.RangeLerp((float)index / this.colorCount);
                colors[index] = this.colorGenerator.Generate(hue, value, random);
            }

            return(new ColorScheme(colors));
        }
        protected override ColorScheme GenerateInternal()
        {
            var baseHue  = HSVColor.RandomHue();
            var stepSize = 1 / this.colorCount;

            var colors = GenerateColors();

            return(new ColorScheme(colors));

            IEnumerable <HSVColor> GenerateColors()
            {
                for (var step = 0; step < this.colorCount; step++)
                {
                    var offset = step * stepSize;
                    var hue    = (baseHue + offset) % 1;

                    yield return(this.colorGenerator.Generate(hue, this.Random));
                }
            }
        }
Beispiel #3
0
        protected override ColorScheme GenerateInternal()
        {
            var hue = HSVColor.RandomHue();

            return(this.Generate(hue));
        }