0

次のように、特定のポイントの形状をスケーリングしています。

                AffineTransform t = shape.getAffineTransform();

                AffineTransform translatAffine =AffineTransform.getTranslateInstance(-cx, -cy);
                AffineTransform scaleAffine= AffineTransform.getScaleInstance(sx,sy);
                scaleAffine.concatenate(translatAffine); 
                translatAffine = scaleAffine;

                scaleAffine =AffineTransform.getTranslateInstance(cx, cy);
                scaleAffine.concatenate(translatAffine);
                translatAffine = scaleAffine;                   

                scaleAffine= new AffineTransform(t);
                translatAffine.concatenate(scaleAffine); 
                shape.setAffineTransform(translatAffine);

で新しい高さを取得しようとするとshape.getHeight()、初期の高さが得られます

4

1 に答える 1

0

affineTransform を取得して新しい高さを計算することで、一通りの作業を見つけました。上記のコードに次の行を追加しました

System.out.println("The new height :"+ shape.getHeight() *  shape.getAffineTransform().getScaleX());
于 2011-06-22T01:41:23.093 に答える