Je veux appliquer un zoom avant et effectuer un zoom arrière avec objets redessiner sur toile si je reçois vue dégagée au niveau de zoom maximum et minimum.GWT: Zoom avant et zoom sur toile de dessin
Je reçois référence comment le faire here donc j'ai passé ma toile à ScalableImage constructeur au lieu de Image et suivi toutes les étapes.
Je redessine l'objet dans "MainDraw" encore une fois la méthode mais ne pas obtenir le résultat approprié. Je sais qu'il me manque une nouvelle échelle et que je traduis un facteur pour redessiner la toile, mais je ne sais pas comment la définir. Je dessine plusieurs objets sur la toile comme l'arc, rect etc ... donc la performance est une préoccupation majeure.
J'ai défini context.translate (0, canvasHeight); et context.scale (1, -1); pour démarrer le système de coordonnées de bas à gauche. (Selon l'exigence)
est un code ci-dessous de l'échantillon avec un objet et cette toile je passe à ScalableImage constructeur et de l'appeler à nouveau dans « mainDraw ».
int canvasHeight = 600;
int canvasWidth = 600;
Canvas canvas = Canvas.createIfSupported();
Context2d context = pcbCanvas.getContext2d();
canvas.setWidth("600");
canvas.setHeight("600");
canvas.setCoordinateSpaceHeight(canvasHeight);
canvas.setCoordinateSpaceWidth(canvasWidth);
context.translate(0, canvasHeight);
context.scale(1, -1);
context.beginPath();
context.rect(x, y, width, height);
context.closePath();
context.fill();
RootPanel.get("canvasContainer").add(canvas);
Une référence, une idée?
Merci
Merci de votre intérêt. En fait, j'ai déjà essayé ce que vous m'avez demandé de faire. Mais l'exigence est un peu différente que j'ai totalement manqué de mentionner en question. Je m'excuse pour cela. Vous pouvez voir une question éditée et s'il vous plaît donner une idée afin que je puisse passer à l'étape suivante. – Priyank