我是Canvas的新手,想知道:
- 使用倒置的笛卡尔坐标系的原理。
- 比如说,我需要在直方图中绘制一些值。有没有一种简单的方法将画布框架旋转/映射到笛卡尔坐标系?
我是Canvas的新手,想知道:
画布被翻转是因为对于许多界面而言这样更直观。网页更像一张纸而不是笛卡尔坐标系图,因为你从左上角开始向下阅读。因此,HTML就是按照这种方式进行布局的。我假定画布元素为了保持一致性使用相同的坐标系。
您可以通过将y轴缩放-1来翻转它。您可能还需要进行变换,我不确定,但您的问题中有一个评论可以帮助解决这个问题。在html中,变换函数与该帖子中的函数基本相同。
我经常参考HTML5标准草案。以下是一些来自2D绘图上下文部分的内容:
void scale(in double x, in double y);
void rotate(in double angle);
void translate(in double x, in double y);
void transform(in double a, in double b, in double c, in double d, in double e, in double f);
void setTransform(in double a, in double b, in double c, in double d, in double e, in double f);
通过 (0, height) 进行平移。这应该会将原点重新定位到左下角。
通过 (1, -1) 进行缩放。这应该会沿着 x 轴翻转它。