这篇文章主要介绍了js如何实现一个戴眼镜的笑脸,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
首先我给大家一个图片示例:
大家可以根据这个图来编写代码,看看怎么样才能实现这样的图?方法肯定不止一种,大家可以在本地先试试~
下面我给大家介绍一种方法,是使用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 = 逆时针。
感谢你能够认真阅读完这篇文章,希望小编分享的“js如何实现一个戴眼镜的笑脸”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!