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:
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:
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