我正在尝试将一个图像绘制到另一个图像上,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();
}
总体思路是:
- 抓取要绘制的图形。
- 清除将要绘制的图形部分。
- 在图形上的给定位置绘制图像。
- 处理图形。