グラフィックスコンテキストでベクトルを描画する一連のJava2D呼び出しがあります。画像のサイズを2倍にしてから、90度回転させたいのですが。
私はこれを行うために次のコードを使用しています:
Graphics2D g2 = // ... get graphics 2d somehow ...
AffineTransform oldTransform = g2.getTransform();
AffineTransform newTransform = (AffineTransform)oldTransform.clone();
newTransform.concatenate(AffineTransform.getTranslateInstance(x1, x2));
newTransform.concatenate(AffineTransform.getScaleInstance((double)newW/(double)iconW, (double)newH/(double)iconH));
newTransform.concatenate(AffineTransform.getRotateInstance(Math.toRadians(rotationAngle), (double)iconW/2.0d, (double)iconH/2.0d));
// ... do my drawing ...
これは回転してスケーリングしますが、スケールが希望どおりに適用されていません。拡大縮小する前に回転しているように見えるため、画像が間違った軸で広くなります。
これを行うためのより良い方法はありますか?