我想在Graphics2D上绘制一个形状,如果它与某个范围相交,则将其中一部分颜色设置为不同。我设法通过使用AlphaComposite和AlphaComposite.SRC_IN将2个形状绘制成BufferedImage(原始形状和将导致颜色变化的区域)。问题是如果滚动画布,屏幕会变得迟钝,因为每次调用paint方法时,都会创建一个缓冲的图像。
是否有任何方法可以实现相同的效果(2个形状重叠,只有第2个形状的重叠区域被着色)而不使用缓冲的图像对象?
干杯, 最大
答案 0 :(得分:1)
我不确定我是否完全正在尝试做什么,但是每次调用paint方法时都不应该创建缓冲图像;只有在要显示的对象中更改了某些内容时才会显示。