faire un zoom en java!! - Programmation
Marsh Posté le 31-05-2002 à 16:09:23
il faudrait peut être décrire un poil plus précisément ce que tu veut.
Marsh Posté le 31-05-2002 à 16:16:20
ben je croyais etre assez precis mais bon!!
en fait je voudrai pourvoir zoomer sur une fenetre apres avoir cliqué sur bouton_zoom_plus(ou_mois) et que des scrollbar apparaiseent si necessaire!
voila j'espere avoir etais plus precis.
merci
si vous avez differnetes techniques ca m'interrese
ex: zoom sur un rectangle créée par glissement de souris.
Marsh Posté le 31-05-2002 à 16:23:22
Si ton image est une bufferedImage, tu peux placer ça dans la méthode paintComponent() du composant qui contient l'image :
Code :
|
Avec :
- facteurZoom un flottant ( 1.0 -> échelle 1:1, 2.0 -> taille double, etc...)
- imageCourante, ton image en bufferedImage
Ensuite il suffit de faire changer facteurZoom avec JSlider ou autre élément graphique.
[jfdsdjhfuetppo]--Message édité par gm_superstar le 31-05-2002 à 16:23:59--[/jfdsdjhfuetppo]
Marsh Posté le 31-05-2002 à 16:27:12
tertulia a écrit a écrit : ex: zoom sur un rectangle créée par glissement de souris. |
Ca par contre c'est plus difficile à faire : tu dois déduire le facteur de zoom de la taille de ton rectangle de sélection par rapport à la taille de l'image, zoomer, et positionner correctement l'image.
Marsh Posté le 31-05-2002 à 16:32:02
ben en fait cette methode (rectangle m'interesse plus)
avec des mouseEvent (click release) qui detecte la position de la souris
et qui zoom du point superieur gauche (click) au point inferieur driot (release)
voila donc si t'as des id
merci
Marsh Posté le 31-05-2002 à 17:27:03
Ben que veux tu savoir de plus ?
Voilà quelques pistes à explorer (on suppose que l'image s'affiche dans un JPanel) :
Tu associes à ce Jpanel une classe qui gère les évenements souris. Elle peut ressembler à ça :
Code :
|
- debutSélection : te sers à initialiser tes variables qui vont délimiter le rectangle de sélection.
- agrandirSélection : gérer cet évenement est optionnel, c'est au cas où tu voudrais dessiner un rectangle en pointillés pour matérialiser ta sélection quand tu déplace la souris.
- fixerSélection : fixe les variables du rectangle de sélection ; calcule le facteur de zoom en effectuant le rapport entre la taille de ce rectangle et la taille de l'image ; appelle repaint().
Ensuite repaint() appelle la méthode paintComponent(g) que j'ai redéfinie en haut et qui va se charger d'effectuer le zoom. Il faudra sans doute rajouter quelques instructions pour positionner le coin gauche supérieur de l'image zoomée avec le coin gauche supérieur du JPanel.
Après à toi d'ajouter tout ce qui manque, mais le principe est là.
[jfdsdjhfuetppo]--Message édité par gm_superstar le 31-05-2002 à 17:28:15--[/jfdsdjhfuetppo]
Marsh Posté le 31-05-2002 à 16:03:36
comment fait'on un zoom en java?
pour un programme pas en java scipt
merci