1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
double scalex = ... ;
double scaley = ... ;
java.awt.geom.GeneralPath polygon = new java.awt.geom.GeneralPath ();
// Construction du polygon
// ...
java.awt.geom.AffineTransform aft = java.awt.geom.AffineTransform.getScaledInstance(scalex,scaley);
java.awt.Shape transformedPolygon =
aft.createTransformedShape(polygon);
java.awt.geom.Rectangle2D initBounds = polygon.getBounds2d();
java.awt.geom.Rectangle2D finalBounds = transformedPolygon.getBounds2d();
// On dessine le premier polygon :
g2.draw(polygon);
// On translate pour avoir le 2eme polygone englobant
java.awt.geom.AffineTransform savedTransform = g2.getTransform();
g2.translate(-(finalBounds.getWidth() - initBounds.getWidth())/2,
-(finalBounds.getHeight() - initBounds.getHeight())/2);
// On dessine le 2eme polygone
g2.draw(transformedPolygon);
// Retour à la transformation initiale
g2.setTransform(savedTransform); |
Partager