[HTML5] Canvas绘制简单形状

前端之家收集整理的这篇文章主要介绍了[HTML5] Canvas绘制简单形状前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性方法,操作这些方法,实现绘画

获取canvas对象,调用document.getElementById()方法

调用canvas对象的getContext()方法获取context对象,参数:String的”2d”

绘制线段

调用context对象的moveTo()方法,把起点位置定义好,参数:x,y

调用context对象的lineTo()方法,把终点位置定义好,参数:x,y

调用context对象的stroke()方法,画一条线

如果不调用moveTo()方法,起点的位置是上次的点

绘制矩形

调用context对象的fillRect()方法,填充矩形,参数:起点横坐标,起点纵坐标,宽度,高度

调用context对象strokeRect()方法,边框矩形,参数:起点横坐标,起点纵坐标,宽度,高度

例如:context.fillRect(0,100,100); 会画出一个黑色的矩形

注意:html5 canvas fillRect坐标和大小一直不对,是因为canvas的宽度和高度必须内联在canvas标签中才对

绘制扇形

调用context对象的beginPath()方法,开启路径

调用context对象的moveTo()方法,把路径移动到圆心位置,参数:x,y

调用context对象的arc()方法,绘制圆弧,参数:圆心x坐标,圆心y坐标,开始角度,结束角度

调用context对象的closePath()方法关闭路径

调用context对象的fill()方法,填充颜色

绘制贝塞尔曲线

调用context对象的bezierCurveTo()方法,绘制曲线路径,

参数:第一控制点x,第一控制点y,

           第二控制点x,第二控制点y,

           最终控制点x,最终控制点y

Meta 测试canvas </span><span style="background-color: #f5f5f5; color: #008000;"&gt;//</span><span style="background-color: #f5f5f5; color: #008000;"&gt;绘制矩形</span>

<span style="background-color: #f5f5f5; color: #000000;"> context.fillRect(<span style="background-color: #f5f5f5; color: #000000;">0<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">0<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">100<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">100<span style="background-color: #f5f5f5; color: #000000;">);
context.strokeRect(<span style="background-color: #f5f5f5; color: #000000;">120<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">100<span style="background-color: #f5f5f5; color: #000000;">);

</span><span style="background-color: #f5f5f5; color: #008000;"&gt;//</span><span style="background-color: #f5f5f5; color: #008000;"&gt;绘制扇形</span>

<span style="background-color: #f5f5f5; color: #000000;"> context.beginPath();
context.moveTo(<span style="background-color: #f5f5f5; color: #000000;">50<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">220<span style="background-color: #f5f5f5; color: #000000;">);
context.arc(<span style="background-color: #f5f5f5; color: #000000;">50<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">220<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">50<span style="background-color: #f5f5f5; color: #000000;">,Math.PI<span style="background-color: #f5f5f5; color: #000000;">/<span style="background-color: #f5f5f5; color: #000000;">4);
<span style="background-color: #f5f5f5; color: #000000;"> context.closePath();
context.fill();

</span><span style="background-color: #f5f5f5; color: #008000;"&gt;//</span><span style="background-color: #f5f5f5; color: #008000;"&gt;绘制线段</span>

<span style="background-color: #f5f5f5; color: #000000;"> context.moveTo(<span style="background-color: #f5f5f5; color: #000000;">0<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">300<span style="background-color: #f5f5f5; color: #000000;">);
context.lineTo(<span style="background-color: #f5f5f5; color: #000000;">100<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">400<span style="background-color: #f5f5f5; color: #000000;">);
context.stroke();

</span><span style="background-color: #f5f5f5; color: #008000;"&gt;//</span><span style="background-color: #f5f5f5; color: #008000;"&gt;绘制贝塞尔曲线</span>

<span style="background-color: #f5f5f5; color: #000000;"> context.moveTo(<span style="background-color: #f5f5f5; color: #000000;">200<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">300<span style="background-color: #f5f5f5; color: #000000;">);
context.bezierCurveTo(<span style="background-color: #f5f5f5; color: #000000;">200<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">300<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">250<span style="background-color: #f5f5f5; color: #000000;">,<span style="background-color: #f5f5f5; color: #000000;">400<span style="background-color: #f5f5f5; color: #000000;">);
context.stroke();
<span style="color: #0000ff;"></<span style="color: #800000;">script<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">body<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">html<span style="color: #0000ff;">>

猜你在找的JavaScript相关文章