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)); } } }
protected override ColorScheme GenerateInternal() { var hue = HSVColor.RandomHue(); return(this.Generate(hue)); }