liujsim / blog

blog
https://github.com/liujsim/blog/issues
MIT License
1 stars 0 forks source link

理解 canvas #7

Open liujsim opened 6 years ago

liujsim commented 6 years ago

overview

canvas 绘图首先要建立一个画布,后续的绘制都是在画布上,画布可以理解为一个坐标系,以右上角为原点,和数学上的坐标有所不同。

canvas 提供了一个看不到的画笔,起点位置也在画布原点 (0,0),我们要做的就是利用 api 去绘制我们需要的图形,画笔位置跟随绘画轨迹,如果我们要改变画笔位置要使用 moveTo 改变画笔的坐标,也可以通过 beginPath开始一个新路径, 否则我们就好像在写草书,笔一直没有离开纸,所有笔迹全部连在一起

图形

我们要绘制一个图形,首先要选择一个起点位置,然后是图像的其他属性

比如矩形,我们要设置它的宽和高;圆形我们则需要设置半径,canvas 提供了绘制圆形 api ,使用弧度控制圆的弧长

补充:弧度 弧度和角度转换方法

function getRads(degrees) {
   return (Math.PI * degrees) / 180; 
}

function getDegrees(rads) { 
  return (rads * 180) / Math.PI;
}