Bonjour !
Bon alors ce que j'essaie de faire n'a rien de compliqué, enfin dans le cas général... Je charge une image dans un JPanel, je dois pouvoir la déplacer par cliquer/glisser et zoomer dessus avec la molette de la sourie. En gros du GoogleMaps mais là c'est juste sur une image représentant un plan de machine.
Mon soucis : mon image est au format cgm, du vectoriel. Du coup j'ai importé une librairie pour gérer le format cgm.
Jusque là j'ai réussit à déplacer l'image, même si ce déplacement n'est pas fluide (je ne sais d'ailleurs pas pourquoi, est-ce le format CGM qui est mal géré ? lorsque je remplace mon cgm par un png le déplacement est fluide)
Quand au zoom... en fait je suis bloquée là. Je ne trouve pas le moyen de redimensionner une image au format cgm. Connaissez-vous une méthode le permettant ?
Étant donné que ça fait déjà deux semaines que je suis là dessus, j'ai cherché également d'autre format de fichier vectoriel. J'ai trouvé EMF. J'ai récupéré là aussi une librairie pour le lire. J'ai deux solution :
- Transformer le fichier EMF en BufferedImage: avec EMFImageLoader()
- Transformer le EMF en SVG: avec EMF2SVG()
J'ai testé la première solution mais je n'ai toujours pas réussit à afficher l'image dans un JPanel... La deuxième je vais commencer maintenant.
Je viens donc vers vous pour savoir si vous avez une solution quand au redimensionnement d'image CGM, ou EMF.
Si j'utilise des extensions de fichier peu connues, comparé à du SVG par exemple, c'est parce que les plans que l'on me donne sont générés depuis une application qui ne génère pas de SVG... Donc pas trop le choix.
Je vous remercie d'avance. Si vous voulez voir mon code, dites moi quelles parties, que je cible car il commence à être gros...
Partager