次のように、特定のポイントの形状をスケーリングしています。
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()
、初期の高さが得られます