IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Graphisme Java Discussion :

Coupage d'image lors d'une rotation


Sujet :

Graphisme Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Par défaut Coupage d'image lors d'une rotation
    Bonjour,

    Mon problème, comme le dit le titre, c'est que je perds une partie de mon image lorsque je réalise une rotation et translation de ma bufferedImage avec une AffineTransform.

    Le code de ma translation :

    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
    16
    17
    18
    19
    20
    21
     
    /**
             * Méthode réalisant la translation de l'image
             */
    	private void translationImage() {
     
    		at = new AffineTransform();
     
    		at.translate( ( batchAlignement.getFlagSubstratUn()[0] / 2 - batchAlignement.getFlagTimbreUn()[0] / 2 ) * imgUn.getCoefZoom()
    		            , ( batchAlignement.getFlagSubstratUn()[1] / 2 - batchAlignement.getFlagTimbreUn()[1] / 2 ) * imgUn.getCoefZoom()
    		            );
     
    		AffineTransformOp ato = new AffineTransformOp( at, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
     
    		BufferedImage imageFinale = new BufferedImage( imgUn.getImageAffiche().getWidth()
    												     , imgUn.getImageAffiche().getHeight()
    												     , imgUn.getImageAffiche().getType() );
     
    		imageFinaleUn = ato.filter( imageFinaleUn, imageFinale );
     
    	}
    Le code de ma rotation :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    /**
             * Méthode réalisant la rotation
             * @param at 
             */
    	private void rotationImage() {
    		at = new AffineTransform();
     
    		at.rotate( angle
    				  , flagTimbreUn.x * imgUn.getCoefZoom()
    				  , flagTimbreUn.y * imgUn.getCoefZoom()
    				  );
     
    		AffineTransformOp ato = new AffineTransformOp( at, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
     
    		/**********************************************************************************************
                     ******************************** Rotation de l'image *****************************************
                     **********************************************************************************************/
    		BufferedImage imageFinale = new BufferedImage( imgUn.getImageAffiche().getWidth()//(int)Math.ceil(bounds.getWidth())
    													 , imgUn.getImageAffiche().getHeight()//(int)Math.ceil(bounds.getHeight())
    													 , imgUn.getImageAffiche().getType() );
     
    		ato.filter( imageFinaleUn, imageFinale );
     
    		imageFinaleUn = imageFinale;
     
    	}
    Si vous avez déjà rencontré ce problème où si vous savez le résoudre je suis preneur

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Une rotation fait que la taille d'une image peut changer. De fait il faut prévoir la taille de l'image de destination en fonction de la taille de l'image initiale et la rotation appliquée. (un bon vieux coup de trigo niveau collège/lycée devrait faire l'affaire...)

Discussions similaires

  1. disparition de l'affichage lors d'une rotation ou zoom
    Par 3aychoucha dans le forum OpenGL
    Réponses: 2
    Dernier message: 16/02/2012, 12h40
  2. Gestion du clavier lors d'une rotation
    Par fripon76 dans le forum Android
    Réponses: 1
    Dernier message: 05/01/2012, 10h54
  3. voir des images lors d'une réponse pour un post et gestion de tableau
    Par ledisciple dans le forum Evolutions du club
    Réponses: 1
    Dernier message: 26/09/2011, 20h11
  4. Pixelisation d'image lors d'une rotation
    Par univscien dans le forum 2D
    Réponses: 19
    Dernier message: 08/11/2009, 16h08
  5. Réponses: 3
    Dernier message: 16/01/2009, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo