我正在做一個遊戲,最近遇到了一個問題,當使用affinetransform旋轉緩衝圖像時發生。圖像圍繞自己的中心旋轉。例如,當旋轉45度時,向上和向左的角落被切斷,位置低於圖像的原始x或y位置的所有像素都不顯示。affinetransform旋轉,bufferedimages被剪切
這是我使用用於旋轉的BufferedImage的代碼:
setRad();
AffineTransform at = new AffineTransform();
at.rotate(-rad, width/2, height/2);
AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
bImage = op.filter(startImage, null);
setRad(),取決於x和y速度
startImage是加載的圖像
bImage是得到返回的一個給角度到主要班級。
我想辦法解決這個問題將放大圖像文件,增加周圍的空白空間,所以我不使用切角。但是這會降低性能,如果可能的話,我寧願堅持適當的解決方案。希望一切都清楚!
// Snorbird