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 :
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 /** * 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 ); }
Si vous avez déjà rencontré ce problème où si vous savez le résoudre je suis preneur
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; }
Merci d'avance
Partager