2011-05-18 57 views
2

我有两个BufferedImage对象组成的代码,每个对象代表一个单独的颜色通道(红色和蓝色)。目前我在做:合并两个单通道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类,但是这似乎将基于透明度的图像结合起来,而不是实际合并频道。

任何指针,将不胜感激。

回答