canvas旋转图片直接用rotate和修改matrix矩阵有什么不同?

在canvas中可以drawImage,如果想旋转这个图片一般是旋转canvas,调用rotate,那也可以设置matrix矩阵应用到transform上,这两个方法有区别吗?另外有没有办法直接旋转图片而不是旋转画布的坐标系

阅读 3.5k
2 个回答

在实现上其实没有什么不同,transform 函数最终也是要变成矩阵来对图像进行处理的,只不过矩阵对于没有线性代数基础的人而言,过于晦涩,所以才提供了诸如 translate、rotate、scale 等语义化的函数。
在canvas 上绘图的时候,如果想应用旋转的话,可以使用 CanvasRenderingContext2D.prototype.rotate,需要注意的是 canvas 默认以左上角的绘图原点作为变换原点,因此旋转后图像可能不在可视区域,要结合 CanvasRenderingContext2D.prototype.translate 来使用。

旋转图片?如果只是展示那么就用css咯

cavas的话,一般来说就是旋转画布。然后绘制。然后再转回去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题