also habe ich ein kleines Problem und ich versuche es seit Stunden zu lösen. Ich habe ein BufferedImage und ich möchte die Farbe auf eine fließende Weise ändern, z. von rot zu weiß. Mein Haupt:Wie erstelle ich einen Farbverlauf ohne Javafx/AWT?
public static void main(String[] args) {
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int x = 0; x != width; x++) {
for (int y = 0; y != height; y++) {
image.setRGB(x, y, color12(x, y));
try {
,,,
Meine Methode, um die Farbe zu ändern:
static int color12(int x, int y) {
int size = 100;
if (Math.abs(width/2 - x) < size/2 && Math.abs(height/2 - y) < size/2)
return new Color(255, 0, 0).getRGB();
else
return new Color(200, 200, 255).getRGB();
}
}
Also spielte ich um mit der Methode, aber ich kann es nicht getan. Meine beste "Lösung" war:
int r = 0 ;
int b = 0;
int g = 0;
for (int i = 1; i < 255; i++)
r++;
sonst zurückkehren neue Farbe (r, g, b) .getRGB();
Kann mir jemand helfen?
Aber ich möchte nicht Swing oder AWT verwenden :) ist es möglich, die Aufgabe nur mit der Bearbeitung der statischen Int-Farbmethode zu begleiten? –
Ich bin nicht ganz sicher, was Sie erreichen wollen, aber Sie können Ihre 'color12()' Methode für meine 'getGradientRGB()' Methode ändern; Übergeben Sie einfach die richtigen Parameter. Die einzigen Klassen, die in meinem Beispiel zum Erstellen eines Verlaufsbildes verwendet werden, sind 'BufferedImage' und' Color' gemäß Ihrer ursprünglichen Frage. Beide sind Teil des 'awt' Pakets. Der Rest dient lediglich der Demonstration, d. H. Um es als Beispiel darzustellen, und um es als GUI anzuzeigen, müssen Sie awt/Swing/JavaFX/swt/etc verwenden. es sei denn, Sie möchten eine Bibliothek von Grund auf neu erstellen. –
Hallo. Also möchte ich zum Beispiel meine Farbe so gestalten, dass sie mit Rot beginnt und von (255,0,0) bis (255,255,255) in Stufen geht. Rot bis Weiß auf fließende Weise. Meine color12-Methode erstellt bereits eine Farbe, aber nur 1, nicht viele. Ich möchte viele Farben (von rot bis weiß). Ich spielte mit der Haupt- und der Methode herum, konnte es aber nicht richtig machen. Ich denke, ich muss nur eine for oder while-Methode in color12 hinzufügen, aber ich bin nicht sicher .. vielleicht verstehst du mich jetzt (sry ich weiß es ist schwer, weil mein Englisch nicht fließend ist) –