关于BufferedImage图形的合成
scie 2005-11-25 07:47:35 创建三个同样大小的BufferedImage对象,然后在第一个和第二个上作图,最后前两者绘图的结果合成到第三个BufferedImage对象上,请问如何做呢?
我先把第一个图绘制到第三个图后,再把第二个图绘制到第三个图上时,第二个图会覆盖掉第一个的结果。
另外BufferedImage.TYPE_4BYTE_ABGR类型的图是支持透明色的吧?怎么设置透明色呢?多谢!
BufferedImage image1 = new BufferedImage(300, 200, BufferedImage.TYPE_4BYTE_ABGR);
BufferedImage image2 = new BufferedImage(300, 200, BufferedImage.TYPE_4BYTE_ABGR);
BufferedImage image3 = new BufferedImage(300, 200, BufferedImage.TYPE_4BYTE_ABGR);
Graphics2D g1 = image1 .createGraphics();
g1.setColor(Color.RED);
g1.line(0, 0, 100, 100);
Graphics2D g2 = image2 .createGraphics();
g2.setColor(Color.RED);
g2.line(0, 100, 100, 0);
Graphics2D g3 = image3 .createGraphics();
g3.drawImage(image1, 0, 0, ...);
g3.drawImage(image2, 0, 0, ...); // 会覆盖掉image1