js的趣味实现:给你一个戴眼镜的笑脸


本文摘自PHP中文网,作者藏色散人,侵删。

在《js绘制两个相交的矩形并且其中有一个包含透明度》中我们给大家介绍了怎么用javascript绘制两个相交的矩形并且其中一个具有alpha透明度,今天继续给大家介绍一个好玩的实现方法~

正如标题所述,“戴眼镜的笑脸”!javascript可谓是无所不能啊~

首先我给大家一个图片示例:

c0b467fbe8d51b0e92c259d5e635df6.png

大家可以根据这个图来编写代码,看看怎么样才能实现这样的图?方法肯定不止一种,大家可以在本地先试试~

下面我给大家介绍一种方法,是使用moveto()函数来实现。

完整代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<!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的趣味实现:给你一个戴眼镜的笑脸的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

javascript多行注释如何实现

javascript最后怎么表示

javascript主要的循环有哪些

详解js中值传递和引用传递的区别

javascript中删除数组元素的方法有哪些

如何理解javascript原型链

javascript可以编写网页吗

深入理解javascript的并发模型和事件循环机制

javascript介绍ajax加载单张图片展示进度的方法

javascript怎么去掉回车

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...