Rotation image java

Résolu
kikilik
Messages postés
26
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2010
- 10 mars 2009 à 13:21
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
- 10 mars 2009 à 14:37
bonjour,
je travaille sur le traitement d'image en java et je ne sais pas comment inverser une image que je recupere sur disque. J'ai cherché comment le faire mais j'ai pas trouvé la fonction qui me le permet.
Merci de m'orienter ou de m'indiquer un tuto pour le traitement d'images java.

2 réponses

Twinuts
Messages postés
5372
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
24 mai 2022
111
10 mars 2009 à 13:54
Salut,

regarde du coté de Graphic2D et de AffineTransform avec ça tu peux faire des rotations à souhait

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
10 mars 2009 à 14:37
salut

tu peux lire ces deux liens :

http://fr.wikipedia.org/wiki/Transformation_g%C3%A9om%C3%A9trique
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html

la transformation est donc (x, y) -> (m00x + m01y + m02, m10x + m11y + m12)

en math, t'as :

(x, y) -> (cos, sin) * [ (x, y) - (centreX, centreY) ] + (centreX, centreY)
ce qui donne :
(x, y) -> (cos, sin) * (x - centreX, y -centreY) + (centreX, centreY)
(x, y) -> (cos * (x - centreX) - sin * (y - centreY) + centreX , cos * (y - centreY) + sin * (x - centreX) + centreY)

(x, y) -> (cos * x - cos * centreX - sin * y + sin * centreY + centreX , cos * y - cos * centreY + sin * x - sin * centreX + centreY)

donc pour la partie affine :
M02 = centreX - cos * centreX + sin * centreY
M12 = centreY - sin * centreX - cos * centreY
et pour la partie lineaire :
M01 = cos
M11 = - sin
M02 = sin
M12 = cos

enfin je crois...

mais si tu ne veux pas t'embeter, tu peux regarder la fonction : getRotateInstance(double theta, double x, double y)
0