我正在尝试使用graphics.drawImage()
将一个图像绘制到另一个图像上,但它只能准确地处理某些图像,其他图像则会混乱。我的代码在下面,我确保texture
在进入方法时是正确的图像,所以绝对不是它。有什么想法吗?
private BufferedImage currentSheet;
public void swapRegionWithTexture(Rectangle region, Image texture) {
Graphics sheetGraphics = currentSheet.createGraphics();
for (int ix = region.x; ix < region.x + region.width; ix++) {
for (int iy = region.y; iy < region.y + region.height; iy++) {
currentSheet.setRGB(ix, iy, 0x000000);
}
}
sheetGraphics.drawImage(texture, region.x, region.y, null);
sheetGraphics.dispose();
}
一般的想法是:
答案 0 :(得分:0)
您当前的原子步骤是:
那么如果你改变这个怎么办
sheetGraphics.drawImage(texture, region.x, region.y, null);
到这个
sheetGraphics.drawImage(bufferedTexture, region.x, region.y, null);
否则你花时间反转图像并放入缓冲纹理,然后再也没有用缓冲区做任何事情......所以你有可能在某个地方使用那个缓冲纹理。