我有一个BufferedImage,我想要复制它两次,并使用每个复制品的 Graphics 写一些东西。但是,如果我在其中一个上写了一些内容,其他所有复制品也会相应地发生变化。因此,我尝试使用 image.getSubImage(0, 0, image.getWidth(), image.getHeight()); 进行操作,但它并没有改变任何内容。
我不知道该怎么办,希望您能帮助我。
我不知道该怎么办,希望您能帮助我。
请看这个问题的最佳答案,看看是否适用于您的情况:
ColorModel model = image.getColorModel();
WritableRaster raster = image.copyData(null);
BufferedImage clone = new BufferedImage(model, raster, model.isAlphaPremultiplied(), null);
image.getSubImage(0, 0, image.getWidth(), image.getHeight()
只返回图像本身,而不是一个克隆。 - MCMastery