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

Java 将bufferimage的特定部分复制到另一个bufferimage中,java,copy,bufferedimage,raster,Java,Copy,Bufferedimage,Raster,我有一个大的缓冲区图像 我想用第一个缓冲区的数据创建另一个缓冲区映像 我试着用buffer.getData(新矩形(x,y,宽度,高度))制作一个光栅 然后buffer2.setData(光栅) 但是由于这个原因,数据被转换为x,y,而不是0,0。例如,如果我在原始图像中的x,y处有一个像素,那么我在新图像中的x,y处仍然会有它,而不是0,0,因为x,y是矩形被转换的位置 那么,有没有一种方法可以正确地转换光栅,或者有更好的方法来复制图像呢 编辑:我还设法用getGraphics().drawI

我有一个大的缓冲区图像

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

我试着用buffer.getData(新矩形(x,y,宽度,高度))制作一个光栅

然后
buffer2.setData(光栅)

但是由于这个原因,数据被转换为x,y,而不是0,0。例如,如果我在原始图像中的x,y处有一个像素,那么我在新图像中的x,y处仍然会有它,而不是0,0,因为x,y是矩形被转换的位置

那么,有没有一种方法可以正确地转换光栅,或者有更好的方法来复制图像呢

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


Edit2:子映像似乎与原始映像相连,是否有其他方法可以使用实际原始的剪切数据和尺寸创建bufferimage?

Java子映像应该适合您。。尝试

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

希望有帮助:-)

要创建源映像的子映像吗?