Итак, я пытаюсь создать изображение на Java, где оно представляет каждый цвет в спектре RGB.Тем не менее, я новичок в Java (только что закончил мой первый курс программирования, Введение в Java), и у меня возникли проблемы, потому что мои циклы для r
, g
и b
в конечном итоге возвращают цвет любогозначение, которое они заканчивают, для моего кода ниже (3,3,3)
.Мне нужен способ вернуть каждый цвет в каждом индексе картинки.Так по индексу 0
картинки (0,0,0)
, по индексу 1 (0,0,1)
и так далее.Вот мой код прямо сейчас:
public static Color rainbowColor(int colorValue, int x){
Color newColor = null;
for(int r = 0; r < colorValue; r++){
for(int g = 0; g < colorValue; g++){
for(int b = 0; b < colorValue; b++){
System.out.println(x + ": " + r + "--" + g + "--" + b);
newColor = new Color(r,g,b);
}
}
}
return newColor;
}
public static Color[] rainbowPixels(int colorValue, int size){
Color[] newArray = new Color[size];
for(int x = 0; x < size; x++){
newArray[x] = Rainbow.rainbowColor(colorValue, x);
}
return newArray;
}
public static Image rainbow(){
int colorValue = 4;
int size = colorValue*colorValue*colorValue;
int width = (int)Math.sqrt(size);
int height = (int)Math.sqrt(size);
Color[] pixels = Rainbow.rainbowPixels(colorValue, size);
System.out.println(size + "," + colorValue);
return new Image(width, height, pixels);
}
Прямо сейчас colorValue имеет значение 4, так что я работаю с небольшим изображением, и запуск его в Powershell не занимает вечно.Кроме того, это все внутри класса Rainbow.java.