基本步骤类似于
步骤1准备画布
准备画布 标签就是画布 canvas画布有默认⼤⼩ 默认350X150设置canvas画布⼤⼩
通常canvas是⼀个标签,可以在style canvas{width:xxxpx; height:xxpx} 但是不建议这样写 不建议在样式设置尺⼨我们可以在元素本⾝来设置
解释:不在样式表中设置canvas画布⼤⼩的原因在css中设置canvas尺⼨
canvas{
border:1px solid black; width: 600px; height: 400px; }
同样类似下⾯在(100,100)的位置绘制⼀条直线
此时可以发现 原来300X150的框拉伸到600X400,同样原来100X100的点距离左边和上边同⽐例放⼤了。就好⽐于拉伸了图⽚,点的相对⽐例没变,⽽实际位置改变。
所以在css样式中我们设置canvas的样式,⽽不是canvas的⼤⼩
步骤2准备绘制⼯具,利⽤⼯具绘图
温馨提⽰:现在canvas getContext('2d'); 只能绘制平⾯图,需要绘制3d图需要使⽤另外技术 web gl;
绘制出来的线模糊原因 canva的线默认1px ⿊⾊,对齐的点是线中⼼的位置,⽽1px不是分布在整个1px,⽽是相邻两个1px像素各有0.5px的线条,显⽰不饱和,由于浏览器⽆法解析最⼩0.5px,所以模糊。
解决⽅法可以加0.5px 例如ctx.moveTo(100,100.5),实际中可以不处理,因为模糊效果不是很明显,更多的是⽤canvas绘制图⽚
例⼦:绘制不同样式的线条使⽤ctx.begainPath()开启新路径
要绘制不同样式(颜⾊,宽度等)线条,可以使⽤ctx.begainPath() 开启新路径