Rotation image java [Résolu]

kikilik 26 Messages postés mardi 22 avril 2008Date d'inscription 27 janvier 2010 Dernière intervention - 10 mars 2009 à 13:21 - Dernière réponse : coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Twinuts 5272 Messages postés dimanche 4 mai 2003Date d'inscription 3 août 2018 Dernière intervention - 10 mars 2009 à 13:54
3
Merci
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

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Twinuts
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 10 mars 2009 à 14:37
0
Merci
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)
Commenter la réponse de coucou747

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.