合并两个单通道BufferedImage对象

时间:2011-05-18 21:18:41

标签: java image image-processing composite

我有两个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图像来说这是相当慢的。有没有更快的方法通过Java2D或JAI API来做到这一点?我已经阅读了AlphaComposite类,但这似乎是基于透明度组合图像,而不是实际合并通道。

任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用如下所述的技术合并两个图像:

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