将bufferedimage的特定部分复制到另一个bufferedimage中

时间:2012-06-29 12:20:14

标签: java copy bufferedimage raster

我有一个大缓冲图像。

我想用第一个数据创建另一个缓冲区图像

我尝试使用raster

制作buffer.getData(new Rectangle(x,y,width,height))

然后buffer2.setData(raster)

但是从原因来看,数据是由x,y而不是0,0来转换的。例如,如果我在x处有一个像素,那么在原始的y中我仍然会在x,y中使用新的,而不是0,0因为x,y是矩形的平移位置。

有没有办法正确翻译光栅?还是有更好的方法来复制图像吗?

编辑:我还设法使用getGraphics().drawImage()。有一种方法可以通过定义它们的角来定义2个矩形。但是下面的方法更好,因为它不会透支。

Edit2:似乎子图像连接到原始图像,是否有另一种方法可以创建具有实际原始剪切数据和尺寸的缓冲图像?

1 个答案:

答案 0 :(得分:14)

Java子图像应该适合你..尝试;

imageTwo = imageOne.getSubimage(x, y, width, height);

希望它有所帮助: - )