在《js绘制两个相交的矩形并且其中有一个包含透明度》中我们给大家介绍了怎么用javascript绘制两个相交的矩形并且其中一个具有alpha透明度,今天继续给大家介绍一个好玩的实现方法~
正如标题所述,“戴眼镜的笑脸”!javascript可谓是无所不能啊~
首先我给大家一个图片示例:
大家可以根据这个图来编写代码,看看怎么样才能实现这样的图?方法肯定不止一种,大家可以在本地先试试~
下面我给大家介绍一种方法,是使用moveto
()函数来实现。
完整代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body onload="draw();"> <canvas id="canvas" width="250" height="250"></canvas> <script> function draw() { var canvas = document.getElementById('canvas'); if (canvas.getContext) { var context = canvas.getContext('2d'); context.beginPath(); // 外圆 context.arc(75,75,50,0,Math.PI*2,true); context.moveTo(110,75); // 嘴巴 context.arc(75,75,35,0,Math.PI,false); // 左眼和右眼 context.moveTo(55,65); context.arc(60,65,5,0,Math.PI*2,true); context.arc(90,65,5,0,Math.PI*2,true); context.stroke(); } } </script> </body> </html>
搞定!运行该代码会出现跟上图一样的效果。
那么在这段代码中,要介绍2个重要的方法moveTo()
和arc()
方法。
moveTo()
方法用于把路径移动到画布中的指定点,不创建线条,其js语法是“context.moveTo(x,y);
”,参数x表示路径的目标位置的 x 坐标,y表示路径的目标位置的 y 坐标。
arc()
方法用于创建弧/曲线(用于创建圆或部分圆),其js语法是“context.arc(x,y,r,sAngle,eAngle,counterclockwise);
”,注意如需通过 arc() 来创建圆,请把起始角设置为 0,结束角设置为 2*Math.PI。
其中参数x圆的中心的 x 坐标;
y表示圆的中心的 y 坐标;
r表示圆的半径;
sAngle表示起始角,以弧度计。(弧的圆形的三点钟位置是 0 度);
eAngle表示结束角,以弧度计。
counterclockwise可选,规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。
最后给大家推荐本平台经典的课程《JavaScript极速入门_玉女心经系列》,公益免费的~欢迎大家学习~
以上是js的趣味实现:给你一个戴眼镜的笑脸的详细内容。更多信息请关注PHP中文网其他相关文章!