OVH Cloud OVH Cloud

canvas et scale

4 réponses
Avatar
Frantz Dorsemaine
Bonjours,

J'ai un livre sur Perl Tk de chez O'reilly qui me montre comment zoomer
ou dezoomer un canvas. Voici la syntax ecrite dans le livre:

$canvas->scale("all",0,0,.5,.5);

Ceci est prevu pour dezoomer, mais le resultat est que ca deplace les
coordonée y,x d'orogine.

Quelqu'un a t-il une solution pour diminuer ou agandir ou diminuer
l'affichage d'un canvas.


--
Frantz DORSEMAINE

frantz.dorsemaine@free.fr

4 réponses

Avatar
Paul Gaborit
À (at) Sat, 04 Dec 2004 22:04:31 +0100,
Frantz Dorsemaine écrivait (wrote):
J'ai un livre sur Perl Tk de chez O'reilly qui me montre comment zoomer ou
dezoomer un canvas. Voici la syntax ecrite dans le livre:

$canvas->scale("all",0,0,.5,.5);

Ceci est prevu pour dezoomer, mais le resultat est que ca deplace les
coordonée y,x d'orogine.


En fait un canvas est toujours à l'échelle 1. Ce sont les objets (ici ceux
tagués 'all') dont on change les coordonnées. Toutes les distance entre le
points de référence 0,0 et la position d'un point d'un objet sont multipliées
par 0.5 (donc divisées par 2).

Pour donner l'impression que le 'zoom' ne déplace pas les objets, il suffit
d'indiquer les coordonnées du centre de la fenêtre ou mieux de l'endroit
cliqué par l'utilisateur comme point de référence à la place de 0,0.


--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Frantz Dorsemaine
À (at) Sat, 04 Dec 2004 22:04:31 +0100,
Frantz Dorsemaine écrivait (wrote):

J'ai un livre sur Perl Tk de chez O'reilly qui me montre comment zoomer ou
dezoomer un canvas. Voici la syntax ecrite dans le livre:

$canvas->scale("all",0,0,.5,.5);

Ceci est prevu pour dezoomer, mais le resultat est que ca deplace les
coordonée y,x d'orogine.



En fait un canvas est toujours à l'échelle 1. Ce sont les objets (ici ceux
tagués 'all') dont on change les coordonnées. Toutes les distance entre le
points de référence 0,0 et la position d'un point d'un objet sont multipliées
par 0.5 (donc divisées par 2).

Pour donner l'impression que le 'zoom' ne déplace pas les objets, il suffit
d'indiquer les coordonnées du centre de la fenêtre ou mieux de l'endroit
cliqué par l'utilisateur comme point de référence à la place de 0,0.


Y a t-il une possibilité de faire un vrais zoom avec un canvas ?


Merci

--
Frantz DORSEMAINE




Avatar
Paul Gaborit
À (at) Tue, 07 Dec 2004 20:07:35 +0100,
Frantz Dorsemaine écrivait (wrote):
Y a t-il une possibilité de faire un vrais zoom avec un canvas ?


C'est un vrai zoom... même si il ne fonctionne pas comme vous le croyiez.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Frantz Dorsemaine
À (at) Tue, 07 Dec 2004 20:07:35 +0100,
Frantz Dorsemaine écrivait (wrote):

Y a t-il une possibilité de faire un vrais zoom avec un canvas ?



C'est un vrai zoom... même si il ne fonctionne pas comme vous le croyiez.



Effectivement le zoom fonctionne avec des traits , des rectangles, etc
mais pas avec des images de type JPG. Peut être que je m'y prend mal!

Merci si vous avez une idée

--
Frantz DORSEMAINE