Java 将bufferimage的特定部分复制到另一个bufferimage中
我有一个大的缓冲区图像 我想用第一个缓冲区的数据创建另一个缓冲区映像 我试着用buffer.getData(新矩形(x,y,宽度,高度))制作一个光栅 然后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
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);
希望有帮助:-)要创建源映像的子映像吗?