删除在另一个BufferedImage上绘制的BufferedImage

时间:2014-08-07 18:13:28

标签: java swing bufferedimage graphics2d

我有一个名为BufferedImage的{​​{1}},它是在originalImage上绘制的。我有一个名为JPanel的{​​{1}}数组,我在BufferedImage上绘制了所有layer

那么如何从layer完全删除(例如)originalImage

2 个答案:

答案 0 :(得分:2)

简单回答:你做不到!只需删除一个图层条目并绘制所有新内容。这是低成本的,所以不要担心。

答案 1 :(得分:0)

您需要保存绘制BufferedImage的位置(例如layer[0])。然后你就可以重复一遍:

public void overpaintImage (BuffereImage originalImage, Point imagePos, Dimension imageSize)
{
    Rectangle r = new Rectangle(imagePos.x, imagePos.y, imageSize.width, imageSize.height);
    Graphics2D g = originalImage.createGraphics();
    g.setColor(Color.WHITE); // or whatever your background color is
    g.fill(r);
}