本文摘自PHP中文网,作者php中世界最好的语言,侵删。
这次给大家带来canvas的绘图api使用详解,canvas的绘图api使用注意事项有哪些,下面就是实战案例,一起来看一下。canvas可以绘制出很多奇妙的样式和美丽的效果,通过几个简单的api就可以在画布上呈现出千变万化的效果,还可以制作网页游戏,接下来就总结一下和绘图有关的API。
绘画的时候canvas相当于画布,而context相当于画笔。
1.绘制线条
moveTo(x0,y0):把当前画笔(ictx)移动到(x0,y0)这个位置。
lineTo(x1,y1):从当前位置(x0,y0)处到(x1,y1)画一条直线。
beginPath():开启一条路径或者重置当前路径。
closePath():从当前点回到路径起始点,也就是上一个beginPath的位置,回避和路径。
stroke():绘制。必须加了这个函数才会画图,所以这个一定要放在最后。
1 2 3 4 5 6 7 8 |
|
效果:
这里要注意,如果closepath放在stroke函数后面,则不会绘制成一个闭合的线条,因为在闭合前,已经绘制了,所以左边那条直线不会画出来。
2.线条样式
lineCap:线条端点样式,butt,round,square。
lineJoin:两线条相交时的拐点样式,其中设置为miter时还可以通过miterLimet设置拐点交界处的最大长度。
miterLimet:如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示。
lineWidth:线条宽度
strokeStyle: 线条颜色、渐变(定义好的渐变对象)、模式。 context.strokeStyle="#333";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
beginPath和closePath可以不成对出现,两者之间几乎没有关系,closePath是用来闭合终点和起始点画一条闭合路径的。
3.绘制曲线
arc(x,y,radius,startAngle,endAngle,anticlockwise):绘制曲线,radius是曲线半径,startAngle,endAngle开始角度和结束角度,用的是弧度(Math.PI/180)*角度值,anticlockwise绘制方向;
arcTo(x1,y1,x2,y2,radius):绘制两切线之前的曲线。
1 2 3 4 5 6 |
|
绘制曲线的起点和水平线结束点与设置的第一个点的连线相切,曲线的终点和第一个设置点与第二个设置点的连线相切。
quadraticCurveTo(x1,y1,x2,y2):二次贝塞尔曲线。(x1,y1)控制点的坐标,(x2,y2)结束点的坐标
bezierCurveTo(x1,y1,x2,y2,x,y):三次贝塞尔曲线。(x1,y1)控制点1的坐标,(x2,y2)控制点2的坐标 (x,y)结束点的坐标。
贝塞尔曲线在绘制一些非常流畅的曲线时非常有用。
4.绘制矩形及填充
rect():创建矩形;
fillRect(x,y,width,height):绘制被填充的矩形:(x,y)起始点,width,height矩形宽高
strokeRect():绘制矩形线框
clearRect():清除掉矩形。
相关阅读 >>
html5中的canvas 和 svg分别是什么?它们的区别在何处?(实例)
html5 canvas实现画未闭合的路径及渐变色的填充方法
更多相关阅读请进入《canvas》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者