有人可以举例说明如何在Java中动态创建图像,在其上绘制线条等,然后绘制图像,以便未绘制的区域在绘制过程中保持透明状态?
答案 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();
然后,由于BufferedImage
是Image
的子类,可以使用接受Image
的{{3}}之一绘制到另一个Image
上