在BufferedImage.setRGB()中保留alpha值?

时间:2012-08-30 22:25:56

标签: java

我想把几张图片合成在一起。每张图片都有一些透明度。我正在尝试使用BufferedImage,但似乎没有任何方法可以将它用于此目的?

我们只获取BufferedImage.setRGB()方法。相反,我需要一些透明像素不会覆盖它们下面的像素值的东西。我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:0)

/* imageType should be one of the variants that includes alpha  */
final BufferedImage composited = new BufferedImage(width, height, imageType);
final Graphics graphics = composited.getGraphics();
for (final Image layer : layers) {
  /* draw the image at 0,0 */
  graphics.drawImage(layer, 0, 0, null);
}
graphics.dispose();