Je travaille sur une application HTML5 qui rend des formes sur toile. Les formes sont dessinées par l'utilisateur, en utilisant un dessin libre.Dessin sur toile après zoom
I mis en œuvre le zoom, grâce à cette réponse: https://stackoverflow.com/a/6776341/
Cependant, une fois la toile est agrandie, lorsque l'utilisateur continue à dessiner, les lignes apparaissent avec un décalage. La question est de savoir comment traduire les points afin que les lignes à tracer sous le curseur à nouveau?
Merci, j'ai essayé cela sur l'exemple d'application et cela a bien fonctionné. Encore une petite question, s'il vous plaît: Dans son exemple, il y a un code comme ceci - 'context.translate ( - (mousex/scale + originx - mousex/(scale * zoom)) );'. Je ne comprends pas cette partie: '- mousex/(échelle * zoom)'. Qu'est-ce que ça fait? – Joachim
'scale * zoom' est le nouveau facteur d'échelle. Cet exemple divise la coordonnée de la souris par cette nouvelle échelle et la soustrait des coordonnées de la souris divisées par l'ancienne échelle, en enregistrant effectivement dans 'originx' et' originy' * de quelle magnitude l'origine a changé * en raison de l'échelle. –
Merci beaucoup! – Joachim