Salut à tous
Je cherche à combiner une rotation et une translation d'une image et ça ne fonctionne pas comme je voudrais.
Il s'agit de faire pivoter une image d'un angle alpha puis de la déplacer au point x,y.
- Si j'applique la rotation seule, mon image a bien pivoté de l'ange alpha et l'axe de rotation est le point supérieur gauche de l'image elle s'affiche en haut à gauche de ma fenêtre (origine de ma fenêtre)
- Si j'applique la translation seule l'image s'affiche bien au point x,y (le coin supérieur gauche de l'image est au point x,y)
- Par contre si je combine les 2 transformations j'ai bien une rotation mais la translation est fausse.
Voici le code
Si quelqu'un peut m'expliquer où est l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 double alpha=Math.PI/6; double x=250; double y=120; File file = new File("Graph/Inf.bmp"); BufferedImage image; try { image = javax.imageio.ImageIO.read(file); at=AffineTransform.getRotateInstance(alpha); at.concatenate(AffineTransform.getTranslateInstance(x,y)); g2.drawRenderedImage(image, at); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Partager