跳转至

g. 克隆图像

g. 克隆图像

更新日期: 2021-01-11


克隆图像是指完全拷贝图像的所有数据,用这些新的数据生成一个新的Image对象。

BufferedImage类中提供了getSubimage()方法用来获取一张子图片,子图片与原图共用同一份数据。大部分情况下都应该使用这个函数。 而有一些特殊情况下确实需要一个拥有独立数据的新图像,也即是我们说的克隆图像。

代码如下:

示例代码

1
2
3
4
5
6
// 完全复制一张图片的数据,生成一个新的图片
public static BufferedImage copyImage(BufferedImage img) {
    var cm = img.getColorModel();
    var raster = img.copyData(img.getRaster().createCompatibleWritableRaster());
    return new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null);
}