【问题标题】:How to copy an Image/BufferedImage [duplicate]如何复制图像/缓冲图像 [重复]
【发布时间】:2015-07-02 12:49:41
【问题描述】:

我有一个BufferedImage。我想做两份它,用他们的Graphics写一些东西。但是,如果我在一个写东西,它会在所有其他副本上做同样的事情,所以我尝试做image.getSubImage(0, 0, image.getWidth(), image.getHeight());,但它不会改变任何东西。

不知道怎么办,能帮到我就太好了。

【问题讨论】:

  • 你应该向我们展示你的代码,这可能是一个快速修复
  • 这是一个完整的库,所以它包含这么多类,辛克莱的解决方案有效!我只是等待,因为我现在无法验证解决方案。
  • image.getSubImage(0, 0, image.getWidth(), image.getHeight() 只返回图像,而不是克隆。
  • @TheShark34 你可以点赞
  • @TheShark34 你不需要链接你的整个项目......只要相关的行就可以了

标签: java image graphics copy bufferedimage


【解决方案1】:

看看这个问题的最佳答案,看看它是否适合你的情况:

How do you clone a BufferedImage

【讨论】:

  • 天哪,它有效!我不知道为什么我没有找到这个解决方案,非常感谢你!我只需要稍等片刻即可接受答案,但非常感谢!
【解决方案2】:

请尝试以下方法:

ColorModel model = image.getColorModel();
WritableRaster raster = image.copyData(null);
BufferedImage clone = new BufferedImage(model, raster, model.isAlphaPremultiplied(), null);

【讨论】:

    猜你喜欢
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2013-04-14
    • 2013-09-20
    • 1970-01-01
    • 2020-12-19
    相关资源
    最近更新 更多