У меня есть код, который объединяет два объекта BufferedImage, каждый из которых представляет отдельный цветовой канал (красный и синий). В настоящее время я делаю:
int p, q, g, b;
for (int x = 0; x < width; ++x) {
for (int y = 0; y < height; ++y) {
p = img0.getRGB(x, y) & 0xff00;
q = img1.getRGB(x, y) & 0xff;
fused.setRGB(x, y, p | q);
}
}
Однако, это довольно медленно для изображения 2000x2000. Есть ли более быстрый способ сделать это через API Java2D или JAI? Я читал о классе AlphaComposite, но, похоже, он объединяет изображения на основе прозрачности, а не объединяет каналы.
Любые указатели приветствуются.