在canvas中可以drawImage,如果想旋转这个图片一般是旋转canvas,调用rotate,那也可以设置matrix矩阵应用到transform上,这两个方法有区别吗?另外有没有办法直接旋转图片而不是旋转画布的坐标系
在canvas中可以drawImage,如果想旋转这个图片一般是旋转canvas,调用rotate,那也可以设置matrix矩阵应用到transform上,这两个方法有区别吗?另外有没有办法直接旋转图片而不是旋转画布的坐标系
13 回答12.7k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答811 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1k 阅读
在实现上其实没有什么不同,transform 函数最终也是要变成矩阵来对图像进行处理的,只不过矩阵对于没有线性代数基础的人而言,过于晦涩,所以才提供了诸如 translate、rotate、scale 等语义化的函数。
在canvas 上绘图的时候,如果想应用旋转的话,可以使用 CanvasRenderingContext2D.prototype.rotate,需要注意的是 canvas 默认以左上角的绘图原点作为变换原点,因此旋转后图像可能不在可视区域,要结合 CanvasRenderingContext2D.prototype.translate 来使用。