2012-04-11 30 views
-1

當我將縮放比例設置爲(1.2,1.2)時,組件的縮放比例爲1.2 ..但是我需要將它從中心縮放......就像從中心放大一樣。如何實現這一點。我知道我必須翻譯它,但以什麼數量?縮放組件java

回答

0

您總是需要將物體轉換爲其大小的一半才能到達其中心。所以如果你用1.2來縮放一個對象,那麼你的偏移量也可以有效地縮放1.2。

所以,你可以輕鬆地做類似的信息(僞代碼):

obj.x += obj.width * scalingfactor/2 
obj.scaleX = scalingfactor 
obj.y += obj.height * scalingfactor/2 
obj.scaleY = scalingfactor 
+0

不要忘了,你必須得縮放高度。 – 2012-04-11 14:56:46

+0

這裏的對象是整個JPanel,我放大了它的全部內容。它不給予正確的解決方案,如果我給翻譯'(this.getWidth()* zoomLevel + this.getLocation.getX(),this.getHeight()* zoomLevel + this.getLocation.getY());'' – 2012-04-11 14:56:51