Wie erstellen Pastellfarben programmgesteuert in C#?
Erzeugen Sie gleichmäßig beabstandet auf der Grundlage der Anzahl der Farben wollte. Etwas, das so aussieht, wenn 8 angegeben ist, die für die Zählung angegeben:
List<Color> GeneratePastelColors (int count)
InformationsquelleAutor der Frage Joan Venge | 2011-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie Farben erleichtern das arbeiten mit diesen Arten von Problemen, wenn Sie HSV statt RGB.
"äquidistante Farben" bedeutet fast immer "äquidistante Farben". Also, für [0,360) in hue, die Sie gerade ebenso Raum, durch die Aufteilung, die Reichweite ebenso.
Nun haben Sie einen Farbton, und Sie brauchen nur zu finden, die "pastel" - version, die den Farbton. Für mich bedeutet dies, desaturating die Farbe ein bisschen. Ich würde sagen, zu 80% gesättigt für den Anfang.
In meinen tests habe ich 100% Wert. Dann einfach umwandeln in RGB. Hier ist, was ich habe gespielt mit:
Nicht C#, ich weiß, aber nur versuchen, den Nagel, Licht & setzte sich.
Ansonsten kann man sich an Ihrem Beispiel Farben, und sehen, ob es eine Korrelation in der HSV/HSL-Werte, und versuchen, die Ableitung eines Algorithmus aus. Wenn Sie die plot-S/H und V/H, sehen Sie einen großen Sprung in der Grafik an der grauen Farbe --- es scheint ein Ausreißer. (Die Dritte von Links auf der unteren Zeile.) Zu ignorieren, dass der Wert S ist etwa bei 75% und der Wert ist knapp unter 90%. Mit diesen Werten gab vermutlich das schönste Ergebnis.
Link: http://jsfiddle.net/ZHyAQ/
InformationsquelleAutor der Antwort Thanatos
Können Sie auch einen Blick auf die Reiche Newman ' s HSLColor Klasse. Er hat eine Reihe von blog-posts, beginnend mit diese eine.
Mit diesem code, ich war in der Lage zu generieren, die eine Reihe von Farben, die gleichmäßig um den Farbkreis, aber Sie haben, um zusätzliche Logik, wenn Sie wollen gehören Schattierungen von Grau.
InformationsquelleAutor der Antwort Jeff Ogata