Je dessine un graphique dans Canvas et je me bats avec le fait que l'axe y est "en arrière". L'origine est dans le coin supérieur gauche, et les valeurs croissantes diminuent plutôt que vers le haut.Dans HTML5 Canvas, puis-je faire monter l'axe y plutôt que de le faire descendre?
(0,0) (x,0) (0,y)^
+--------------> |
| |
| CANVAS | INSTEAD
| DOES THIS | OF THIS
| |
| +----------------->
(0,y) v (0,0) (x,0)
Je sais que je peux déplacer l'origine dans le coin inférieur gauche en utilisant translate().
context.translate(0, canvas.height);
Et je sais que je peux inverser l'axe des y en utilisant scale().
context.scale(1, -1);
Cela semble fonctionner, sauf que le texte apparaît à l'envers. Y a-t-il un moyen de faire en sorte que les coordonnées de Canvas fonctionnent comme je le souhaite?
Juste comme une petite note - vous aurez également besoin d'inverser la position du pointeur pour les événements de la souris si vous manipulez une logique de la souris. –
Tom, comment inversez-vous la position du pointeur pour les événements de la souris? –