У меня есть 3 изображения в оттенках серого Я хочу разрисовать цвет, я задал аналогичный вопрос на прошлой неделе и взял там совет, у меня есть код ниже, который читает значения RGB для каждого пикселя на изображении. Я хочу сделать это для каждого отдельного изображения, то есть 1-го изображения, считывающего значение красного пикселя, 2-го изображения, читаемого значением синего пикселя, и третьего изображения, читающего значение зеленого пикселя, и создания нового изображения из этого. Я попытался повторить код 3 раза, но он просто, казалось, применил его к одному пикселю и продолжал повторять его, но я не мог узнать, почему; Я по существу копировал и вставлял код 3 раза, но я уверен, что это более короткий и простой способ, просто не уверен, что!False цветное изображение в Java из стека
Im чтение изображения с помощью следующих действий:
public static void main(final String args[])
throws IOException
{
File file = new File("src/resources/rgb.jpg");
BufferedImage src = ImageIO.read(file);
BufferedImage image = toBufferedImage(src);
save(image, "png");
}
private void img1(BufferedImage image, BufferedImage src) {
for (int x = 0; x < image.getWidth(); x++) {
for (int y = 0; y < image.getHeight(); y++) {
int clr = src.getRGB(x, y);
int red = (clr & 0x00ff0000) >> 16;
//int green = (clr & 0x0000ff00) >> 8;
//int blue = clr & 0x000000ff;
}
}
}
Так что по существу нужно повторить код 3 раза, а затем создать новое изображение из результата. Просто интересно, может ли кто-нибудь помочь?
Заранее спасибо
Создав метод, как вы сказали выше, определите все переменные в основном методе? – user2517280
Nah, просто сохраните их в качестве локальных переменных для этого метода, если они вам не нужны на улице. Как я уже сказал, я не совсем уверен, что вы пытаетесь сделать, но что-то вроде этого уменьшит дублирование кода. – yamafontes
В то же время im, по сути, просто пытается загрузить в 3 буферизованных изображения и получать переменные для красного, зеленого и синего для каждого, как в приведенном выше коде. Ive отредактировал мой код в оригинальном посте, это то, что вы имели в виду? – user2517280