我有一个对象,里面有很多缓冲图像,我想创建一个新对象,将所有缓冲图像复制到新对象中,但是这些新图像可能会被改变,我不希望通过改变新对象图像。
明白了吗?
这是可能的吗,有人可以建议一个好的方法吗?我想到了 getSubImage 但在某处读到对子图像的任何更改都会反映回父图像。
我只是希望能够获得 BufferedImage 的完全独立的全新副本或克隆
原文由 f1wade 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个对象,里面有很多缓冲图像,我想创建一个新对象,将所有缓冲图像复制到新对象中,但是这些新图像可能会被改变,我不希望通过改变新对象图像。
明白了吗?
这是可能的吗,有人可以建议一个好的方法吗?我想到了 getSubImage 但在某处读到对子图像的任何更改都会反映回父图像。
我只是希望能够获得 BufferedImage 的完全独立的全新副本或克隆
原文由 f1wade 发布,翻译遵循 CC BY-SA 4.0 许可协议
我这样做:
public static BufferedImage copyImage(BufferedImage source){
BufferedImage b = new BufferedImage(source.getWidth(), source.getHeight(), source.getType());
Graphics g = b.getGraphics();
g.drawImage(source, 0, 0, null);
g.dispose();
return b;
}
它工作得很好,而且使用简单。
原文由 APerson 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
是这样的吗?