登录  /  注册
首页 > web前端 > js教程 > 正文

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

藏色散人
发布: 2021-08-02 17:59:27
原创
2246人浏览过

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

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

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

c0b467fbe8d51b0e92c259d5e635df6.png

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

下面我给大家介绍一种方法,是使用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(&#39;canvas&#39;);
        if (canvas.getContext)
        {
            var context = canvas.getContext(&#39;2d&#39;);
            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中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号