Hallo, ich bin zur Zeit an einem Programm dran, bei dem ich im Hintergrund ein Rechteck habe, welches einen Farbverlauf haben soll. An sich funktioniert das schon,
jedoch soll sich der Farbverlauf nun kontinuierlich und flüssig ändern.
Hierfür habe ich folgenden Code:
Dies funktioniert im Prinzip auch, jedoch gibt es bei den Farben ein Problem:
Zunächst sieht das Ergebnis wie in Bild 1 aus und nach einiger Zeit geht der Farbverlauf flüssig über in Bild 2:
Wenn nun also (Man sieht bei Bild 2 unten jeweils Farbe 1 und Farbe 2) die Farbe 1 auf 256 wechselt und Farbe zwei auf 0xffffff - 256, dann beginnt der Farbverlauf wie in Bild 1 von neuem. Das ist natürlich auch logisch, da (zum Beispiel auch in folgendem Farbwähler zu sehen) nach dem durchgehen der Farben der ersten Reihe die zweite wieder mit ungefähr der Anfangsfarbe folgt, da ich ganz primitiv ja nur immer die Farben inkrementiere (siehe Code 2):
Nun Meine Frage: Wie kann ich einen sich mit der zeit ändernden Farbverlauf erzeugen, der nicht immer wieder von neu (oder nahezu von neu) beginnt? Mir geht es dabei auch nicht genau um die Farben, die angezeigt werden, ich möchte nur diesen Effekt erzielen.
Danke schon mal im Voraus.
Gruß, Prafy
Code:
GradientPaint gp = new GradientPaint(300 / 2, 0, new Color(farbe1), 300 / 2, 600, new Color(farbe2));
Hierfür habe ich folgenden Code:
Code:
if(farbZaehler % 500 == 0)
{
if(farbe1 <= 0xffffff) farbe1++;
else farbe1 = 0x000000;
if(farbe2 >= 0x000000) farbe2--;
else farbe2 = 0xffffff;
}
Zunächst sieht das Ergebnis wie in Bild 1 aus und nach einiger Zeit geht der Farbverlauf flüssig über in Bild 2:
Wenn nun also (Man sieht bei Bild 2 unten jeweils Farbe 1 und Farbe 2) die Farbe 1 auf 256 wechselt und Farbe zwei auf 0xffffff - 256, dann beginnt der Farbverlauf wie in Bild 1 von neuem. Das ist natürlich auch logisch, da (zum Beispiel auch in folgendem Farbwähler zu sehen) nach dem durchgehen der Farben der ersten Reihe die zweite wieder mit ungefähr der Anfangsfarbe folgt, da ich ganz primitiv ja nur immer die Farben inkrementiere (siehe Code 2):
Nun Meine Frage: Wie kann ich einen sich mit der zeit ändernden Farbverlauf erzeugen, der nicht immer wieder von neu (oder nahezu von neu) beginnt? Mir geht es dabei auch nicht genau um die Farben, die angezeigt werden, ich möchte nur diesen Effekt erzielen.
Danke schon mal im Voraus.
Gruß, Prafy