Объединить два одноканальных объекта BufferedImage - PullRequest
2 голосов
/ 19 мая 2011

У меня есть код, который объединяет два объекта 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, но, похоже, он объединяет изображения на основе прозрачности, а не объединяет каналы.

Любые указатели приветствуются.

1 Ответ

0 голосов
/ 19 мая 2011

Вы пытались просто объединить два изображения, используя метод, подобный описанному здесь:

http://www.jguru.com/faq/view.jsp?EID=130031

...