我面臨着一些問題後進行切割。當我旋轉圖像時,圖像在角落被切割。我正在使用下面的代碼來旋轉圖像。它正在正確旋轉,但在所有角落都被切斷。圖像在角落旋轉
public static Image rotate(BufferedImage img, double angle) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage result = new BufferedImage(w, h, img.getType());
Graphics2D g2 = result.createGraphics();
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, w, h);
g2.rotate(Math.toRadians(angle), w/2, h/2);
g2.drawRenderedImage(img, null);
//g2.drawImage(img,null,0,0);
return result;
}
我需要的東西,不會讓角落被削減。請幫忙。
但你想怎樣呢?你想到最後'Image'爲尺寸爲初始一個相同的(使旋轉的圖像已被縮小),或者你希望繪製的圖像具有(更多或更少)的初始大小爲最初的一(這樣'Image'實例必須比最初的那個大)? – 2014-10-03 08:05:30
最終圖像的尺寸應與初始尺寸相同。我的要求是圖像應該旋轉,但外觀應該是相同的。但目前這個形象正在被削減。 – harry 2014-10-03 08:10:57
首先,外觀與此無關。其次,如果圖像佔用20乘40的組件上的所有空間,並且將圖像旋轉90度,則圖像將會增加40乘20,這在寬度上太大,並且將被切割。您必須重新調整圖像大小或確保將其繪製在足夠大的組件上。 – user1803551 2014-10-03 12:37:49