2011-05-18 58 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類,但是這似乎將基於透明度的圖像結合起來,而不是實際合併頻道。

任何指針,將不勝感激。

回答