を使用してある画像を別の画像に描画しようとして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();
}
一般的な考え方は次のとおりです。
- 描画するグラフィックを取得します。
- 描画されるグラフィックのセクションをクリアします。
- グラフィックの指定された場所に画像を描画します。
- グラフィックを破棄します。