(RGB) Farbberechnungen/Farbverlauf
Frank
- grafik
Hallo liebes Forum,
kann mir jemand erklären, wie man (in RGB) Farbverläufe berechnet?
Viele Grafikprogramme haben ja eine Funktion, einen Verlauf zwischen zwei Farben darzustellen, d.h. ich gebe im Prinzip zwei Farben an und alle Werte dazwischen werden automatisch erzeugt.
Aber wie geht das?
Mal als Beispiel:
Start: 000000
Ziel: FFFFFF
Nun kann ich ja nicht die Trippel einfach durch Schleifen durchlaufen lassen, denn das würde, wenn ich das richtig sehe, Sprünge erzeugen, oder?
Mein Ansinnen wäre im Endeffekt, daß ich Werte darstelle, also von 0 bis 100% wobei 100% z.B. grün ist, ein Wert nahe 0% rot.
Gibt es einen Algorithmus das in RGB direkt umzurechnen?
Vielen Dank für jeden Hinweis!
Gruß
Frank
Hi Frank,
Der Verlauf
von Farbe0: rgb(r0,g0,b0)
zu Farbe1: rgb(r1,g1,b1)
über (n-1) Zwischenfarben
müsste so gehen:
dr=r1-r0; sr=dr/n;
dg=g1-g0; sg=dg/n;
db=b1-b0; sb=db/n;
ri=r0;
gi=g0;
bi=b0;
for(i=0; i<=n; i++) {
ri+=sr;
gi+=sg;
bi+=sb; // Damit hast du die i-te Zwischenfarbe rgb(ri,gi,bi)
}
Soll natürlich kein richtiges Programm sein, sondern das Prinzip erläutern. (Deshalb keine Konvertierung in Ganzzahlen hier.) Nach Durchlaufen der Schleife ist dann
ri=r1;
gi=g1;
bi=b1;
Gunnar
Nach Durchlaufen der Schleife ist dann
ri=r1;
gi=g1;
bi=b1;
Dazu muss die Schleife aber natürlich bei 1 losgehen:
for(i=1; i<=n; i++)
Sorry, Macht der Gewohnheit.
Gunnar
Hatte glatt vergessen zu erwähnen, dass ich mir wünschte, dass man seine Postings canceln kann. :-)
Gunnar
Hi Gunnar
Hatte glatt vergessen zu erwähnen, dass ich mir wünschte, dass man seine Postings canceln kann. :-)
Fängst du jetzt auch schon damit an? ;-)
Schöne Grüße
Johannes
Hi,
schau mal hier:
http://peterk.de.ms/dl/?name=Fade
Mir hats auch geholfen
Christoph