2012-01-09 17 views
0

double xとdouble yを使用して矩形2Dを変換したいと考えています。 rectangle2Dはtranslateメソッドをサポートしていないようです。適切な方法は何ですか?java translate rectangle 2D

+0

さらに詳しい情報と少しのコードは、あなたの質問からあいまいさを取り除くのに役立ちます。 java.awt.geom.Rectangle2D.Doubleオブジェクトを参照していますか?単純にX値またはY値に追加できない理由はありますか?あなたが何を求めているのかは正確には分かりません。 – Jyro117

+0

すべての操作について、[link](http://www.java-tips.org/java-se-tips/java.awt.geom/transform-translation-and-rotation.html)をチェックしてください。 –

答えて

2

Rectangle2Dのままにする必要がある場合は、xとyだけを追加する独自のカスタムメソッドを作成する必要があります。

AffineTransformを使用して任意の変換を実行することもできますが、これにより一般的なShapeに変換されます(その変換により長方形化されない可能性があります)。

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

変数GraphicsをダブルメソッドのGraphics2Dにキャストする必要があります。ほとんどの場合、2つのパラメータが使用されます。

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

ダブル長方形は(drawRectのように)のGraphics2Dでは使用できませんです。ただし、自分のプログラミングではjava.awt.geom.Rectangle2D.Doubleとして利用できます。