使用透明背景动态创建和渲染图像,以便与drawImage一起使用

时间:2010-05-03 01:37:02

标签: java image transparency render draw

有人可以举例说明如何在Java中动态创建图像,在其上绘制线条等,然后绘制图像,以便未绘制的区域在绘制过程中保持透明状态?

1 个答案:

答案 0 :(得分:5)

可以使用BufferedImage来支持透明度的图片类型,例如BufferedImage.TYPE_INT_ARGB

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

通过调用BufferedImage.createGraphics获取BufferedImage对象,然后执行一些绘图,可以在Graphics2D上绘制:

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

Graphics2D g = img.createGraphics();
g.drawLine(0, 0, 10, 10);  // draw a line.
g.dispose(); 

然后,由于BufferedImageImage的子类,可以使用接受Image的{​​{3}}之一绘制到另一个Image