Я пытаюсь написать код, который маскирует красный и синий канал из введенного изображения. Я получил значения R, G, B, но, тем не менее, зашел дальше. Может ли кто-нибудь помочь мне в этом, пожалуйста?Как маскировать цветные каналы в java?
public class Green {
public static void main(String args[]) throws IOException {
BufferedImage bi = ImageIO.read(new File("image.jpg"));
for (int x = 0; x <= bi.getWidth(); x++) {
for (int y = 0; y <= bi.getHeight(); y++) {
int pixelCol = bi.getRGB(x, y);
int r = (pixelCol >> 16) & 0xff;
int b = pixelCol & 0xff;
int g = (pixelCol >> 8) & 0xff;
int px = 0;
px = (px | (g << 8));
bi.setRGB(x, y, px);
}
}
}
}
Попробуйте использовать в форматировании IDE кода. Обычно он доступен с помощью Ctrl-Shift-F или Cmd-Shift-F для пользователей OSX. –
В цикле for вы не должны использовать '<=', но '<'. Пример: когда у вас есть 4 элемента, они имеют индекс 0, 1, 2, 3. –
И в чем вопрос? Чего вы хотите достичь? – Howard