Faire un zoom net et rapide en java [Résolu]

alex10843 14 Messages postés lundi 5 janvier 2009Date d'inscription 7 juillet 2011 Dernière intervention - 20 juil. 2009 à 17:07 - Dernière réponse : alex10843 14 Messages postés lundi 5 janvier 2009Date d'inscription 7 juillet 2011 Dernière intervention
- 20 juil. 2009 à 17:18
Bonjour tout le monde,
j'essaye de faire depuis environs 1 mois un code permettant de faire un zoom sur une image. j'ai essayé :

int width = (int) (sourceImageWidth * zoom);
int height = (int) (sourceImageHeight * zoom);
Mon_image_zoomée = image_initial.getScaledInstance(width, height, Image.SCALE_SMOOTH);

Avec ceci la qualité est parfaite mais cela met beaucoup de temps environs 2 à 3 secondes car j'utilise des images très lourdes en 140 dpi et 1160 * 1640 . J'ai donc cherché autre chose qui est:

Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g2);
AffineTransform transformationZoom = AffineTransform.getScaleInstance(zoom, zoom);
g2.drawImage(image, transformationZoom, this);

Avec ceci la rapidité est parfaite mais la qualité est vraiment médiocre.

Je suis donc à la recherche d'un morceau de code me permettant d'avoir la qualité de la première solution et la rapidité de la deuxième.


Merci d'avance pour vos réponses.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 20 juil. 2009 à 17:15
3
Merci
Salut,

T'as pas l'impression de vouloir le beurre et l'argent du beurre...

Essaye de voir avec JAI (java advanced image) : tu devrais avoir la même qualité, mais ca devrait être plus rapide car elle possède une bibliothèque native. Par contre, le prix à payer, c'est la dépendance à une dll ou un .so... et donc prévoir un déploiement différent selon l'OS utilisé.

Pour un exemple concret, voir ma source de wordart où je l'utilise pour faire le warp de l'image.
______________________________________
DarK Sidious

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
alex10843 14 Messages postés lundi 5 janvier 2009Date d'inscription 7 juillet 2011 Dernière intervention - 20 juil. 2009 à 17:18
0
Merci
Merci bien pour ta réponse je vais essayer.
Commenter la réponse de alex10843

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.