2012-01-09 64 views
0

我想翻譯一個矩形2D使用雙x和雙y。看來,rectangle2D不支持翻譯方法。什麼是適當的方法來使用?java翻譯矩形2D

+0

更多信息和一點點的代碼可以幫助消除您的問題中的任何含糊之處。你指的是java.awt.geom.Rectangle2D.Double對象嗎?是否有一個原因,你不能簡單地添加到X或Y值?不完全確定你在問什麼。 – Jyro117 2012-01-09 19:53:59

+0

對於所有操作,請檢查此[鏈接](http://www.java-tips.org/java-se-tips/java.awt.geom/transform-translation-and-rotation.html) – 2012-01-09 19:07:31

回答

2

如果您需要將它保留爲Rectangle2D,則可能必須編寫自己的自定義方法,該方法僅添加到x和y中。

您也可以使用AffineTransform執行任意轉換,但這會將其轉換爲通用Shape(因爲該轉換可能使其不再是矩形)。

AffineTransform at = AffineTransform.getTranslateInstance(tx, ty); 
Shape transformed = at.createTransformedShape(rectangle); 
0

您必須將舊的Graphics變量轉換爲具有雙重方法的Graphics2D。大多使用雙參數。

@Override 
public void paint(Graphics g) { 
    Graphics2D g2 = (Graphics2D) g; 
    g.translate(3.0, 4.0); 

雙矩形是在Graphics2D的不可(如在drawRect)。然而,它們可用於自己的編程,如java.awt.geom.Rectangle2D.Double