11
votes

Définir l'origine de la toile dans le coin inférieur gauche

Y a-t-il un moyen de définir l'origine en bas à gauche de la toile? J'ai essayé de mettre à l'échelle par -1 mais après que tout soit à l'envers. J'ai besoin de faire quelque chose comme un système de coordonnées, mais seulement avec la partie positive (premier quadrant). Donc, j'en ai besoin pour commencer avec 0,0 au coin inférieur gauche.


0 commentaires

3 Réponses :


26
votes
ctx.translate(0, canvas.height);
ctx.scale(1, -1);
See a demo on JSFiddle.

4 commentaires

Mais le texte est à l'envers :(


@ user986871: puis faire ctx.scale (1, -1) une fois avant et après chaque fois que vous dessinez du texte.


@ktoofay j'ai essayé ce que vous avez suggéré dans votre commentaire, mais cela n'a pas fonctionné, le texte n'a pas disparu, comme l'écran de désactivation


@MisterSircode Vous devez également faire CTX.Translate (0, 0); avant, et ctx.translate (0, Canvas.Height); après



3
votes

Y a-t-il un moyen de définir l'origine en bas à gauche de la toile?

Pas tout à fait la façon dont vous voudriez, non. Le mieux que vous puissiez faire il y a ce que Icktoofay a dit.

qui étant dit qu'il n'est pas trop difficile de faire fonctionner entre un système et l'autre. Par exemple: xxx

de sorte que vous écrivez: xxx

exemple

Dans tous les cas, je suggérerais fortement que si vous êtes tout à fait capable de s'habituer à des coordonnées d'écran. Il vous évitera des charges de maux de tête à l'avenir si vous n'avez pas toujours à rendre compte de cette petite différence.


0 commentaires

0
votes

L'un des moyens les plus faciles et les moyens est d'utiliser la méthode CTX.Transform () La documentation est ici


0 commentaires