inverser une image par rapport à l'axe X (effet miroir)
4 réponses
Jean-Marie
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X
(effet miroir mais de haut en bas, pas de gauche à droite)
quelqu'un a-t'il une piste ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mayeul
Jean-Marie wrote:
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite) quelqu'un a-t'il une piste ?
exp :
| | | | | --------- (axe des X) | | | | |
merci
jean-marie
Je dirais qu'il faut commencer par obtenir l'image sous forme de BufferedImage, puis déplacer les pixels ligne par ligne. La ligne du haut en base, la ligne du bas en haut, et on recommence avec les secondes lignes. -- Mayeul
Jean-Marie wrote:
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X
(effet miroir mais de haut en bas, pas de gauche à droite)
quelqu'un a-t'il une piste ?
exp :
| |
| |
|
--------- (axe des X)
|
| |
| |
merci
jean-marie
Je dirais qu'il faut commencer par obtenir l'image sous forme de
BufferedImage, puis déplacer les pixels ligne par ligne. La ligne du
haut en base, la ligne du bas en haut, et on recommence avec les
secondes lignes.
--
Mayeul
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite) quelqu'un a-t'il une piste ?
exp :
| | | | | --------- (axe des X) | | | | |
merci
jean-marie
Je dirais qu'il faut commencer par obtenir l'image sous forme de BufferedImage, puis déplacer les pixels ligne par ligne. La ligne du haut en base, la ligne du bas en haut, et on recommence avec les secondes lignes. -- Mayeul
Samuel Devulder
Jean-Marie a écrit :
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de zoom/translation/rotations/inversions sont totalement gérées au niveau de la matrice de transformation associée au Graphic Context (GC).
En draw2d: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt: http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html http://www.java2s.com/Tutorial/Java/0300__SWT-2D-Graphics/TransformReflectaroundthexyaxis.htm
sam.
Jean-Marie a écrit :
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X
(effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de
zoom/translation/rotations/inversions sont totalement gérées au niveau
de la matrice de transformation associée au Graphic Context (GC).
En draw2d:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt:
http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html
http://www.java2s.com/Tutorial/Java/0300__SWT-2D-Graphics/TransformReflectaroundthexyaxis.htm
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de zoom/translation/rotations/inversions sont totalement gérées au niveau de la matrice de transformation associée au Graphic Context (GC).
En draw2d: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt: http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html http://www.java2s.com/Tutorial/Java/0300__SWT-2D-Graphics/TransformReflectaroundthexyaxis.htm
sam.
Jean-Marie
merci pour l'info ; en cherchant sur le net j'ai trouvé : AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1); permettant d'inverser par rapport à l'axe des X, ce qui résout en partie le pb puisque l'inversion se fait par rapport à un axe horizontale qui n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la matrice : AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant mon image ; ce "2*ymax" est lié à mon contexte mais les autres paramètres ne devraient pas changer
JM
Samuel Devulder a écrit :
Jean-Marie a écrit :
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de zoom/translation/rotations/inversions sont totalement gérées au niveau de la matrice de transformation associée au Graphic Context (GC).
En draw2d: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt: http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html
merci pour l'info ;
en cherchant sur le net j'ai trouvé :
AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1);
permettant d'inverser par rapport à l'axe des X, ce qui résout en partie
le pb puisque l'inversion se fait par rapport à un axe horizontale qui
n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la
matrice :
AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant
mon image ; ce "2*ymax" est lié à mon contexte mais les autres
paramètres ne devraient pas changer
JM
Samuel Devulder a écrit :
Jean-Marie a écrit :
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X
(effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de
zoom/translation/rotations/inversions sont totalement gérées au niveau
de la matrice de transformation associée au Graphic Context (GC).
En draw2d:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt:
http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html
merci pour l'info ; en cherchant sur le net j'ai trouvé : AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1); permettant d'inverser par rapport à l'axe des X, ce qui résout en partie le pb puisque l'inversion se fait par rapport à un axe horizontale qui n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la matrice : AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant mon image ; ce "2*ymax" est lié à mon contexte mais les autres paramètres ne devraient pas changer
JM
Samuel Devulder a écrit :
Jean-Marie a écrit :
Bonjour
je cherche le moyen d'inverser une image par rapport à l'axe des X (effet miroir mais de haut en bas, pas de gauche à droite)
Je n'y connais pas grand chose, mais il me semble que ces trucs de zoom/translation/rotations/inversions sont totalement gérées au niveau de la matrice de transformation associée au Graphic Context (GC).
En draw2d: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/AffineTransform.html
En Swt: http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/graphics/Transform.html
merci pour l'info ; en cherchant sur le net j'ai trouvé : AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1); permettant d'inverser par rapport à l'axe des X, ce qui résout en partie le pb puisque l'inversion se fait par rapport à un axe horizontale qui n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la matrice : AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant mon image ; ce "2*ymax" est lié à mon contexte mais les autres paramètres ne devraient pas changer
Tu pouvais aussi composer les transformations.. en utilisant les méthodes .translate() et .scale() sur l'instance.
Jean-Marie a écrit :
merci pour l'info ;
en cherchant sur le net j'ai trouvé :
AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1);
permettant d'inverser par rapport à l'axe des X, ce qui résout en partie
le pb puisque l'inversion se fait par rapport à un axe horizontale qui
n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la
matrice :
AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant
mon image ; ce "2*ymax" est lié à mon contexte mais les autres
paramètres ne devraient pas changer
Tu pouvais aussi composer les transformations.. en utilisant les
méthodes .translate() et .scale() sur l'instance.
merci pour l'info ; en cherchant sur le net j'ai trouvé : AffineTransform symmetryX = AffineTransform.getScaleInstance(1, -1); permettant d'inverser par rapport à l'axe des X, ce qui résout en partie le pb puisque l'inversion se fait par rapport à un axe horizontale qui n'est pas à la bonne hauteur
avec l'aide d'un matheux j'ai pu trouver les bons paramètres de la matrice : AffineTransform symmetryX = new AffineTransform(1, 0, 0, -1, 0, 2*ymax);
ymax étant l'ordonnée du point en haut en gauche du rectangle englobant mon image ; ce "2*ymax" est lié à mon contexte mais les autres paramètres ne devraient pas changer
Tu pouvais aussi composer les transformations.. en utilisant les méthodes .translate() et .scale() sur l'instance.