/// <summary> /// Gets the pallete. /// </summary> /// <param name="ncolors">The ncolors.</param> /// <param name="factor">The factor.</param> /// <returns></returns> public PixelColor[] GetPallete(int ncolors, double factor) { var array = new PixelColor[ncolors]; for (var i = 0; i < ncolors; i++) { var newL = Extensions.Clamp <double>(Math.Max(0, (this.GetLuminosity() - (factor * i * 0.05))), 1, 0); array[i] = PixelColor.FromHSL(this.a, this.GetHue(), this.GetSaturation(), newL); } return(array); }