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

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

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

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

c0b467fbe8d51b0e92c259d5e635df6.png

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

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

完整代码如下:

nbsp;html>            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();        }    }    

登录后复制

搞定!运行该代码会出现跟上图一样的效果。

那么在这段代码中,要介绍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的趣味实现:给你一个戴眼镜的笑脸的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2709272.html

(0)
上一篇 2025年3月7日 20:30:20
下一篇 2025年3月7日 20:30:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js绘制两个相交的矩形并且其中有一个包含透明度

    哈喽~今天给大家介绍怎么通过javascript绘制两个相交的矩形并且其中一个具有alpha透明度,乍一看是不是有点不明所以?下面我们直接来看一张效果图,就能一目了然了! 如图: 明白了吧~ 也就说现在需要我们通过编写一个javascrip…

    2025年3月7日
    000
  • 通过JavaScript函数生成字符串的所有排列组合

    今天给大家介绍怎么通过一个javascript函数来生成字符串的所有排列组合,那么所谓排列组合就是组合学中最基本的概念了。 首先来给大家简单介绍排列组合: 1、排列就是指从给定个数的元素中取出指定个数的元素进行排序。 2、组合则是指从给定个…

    2025年3月7日
    200
  • 用JavaScript绘制一个渐变圆圈对角线

    在之前的文章《js的趣味实现:给你一个戴眼镜的笑脸》中给大家介绍了如何用js画一个戴眼镜的笑脸,还蛮好玩的~感兴趣的朋友可以去看一下哈哈~那么本文继续给大家介绍一个有意思的绘图方法。 今天这篇文章的主题就是“编写一个 JavaScript …

    2025年3月7日
    200
  • 编写一个JavaScript程序来列出JavaScript对象的属性

    在上一篇《用js快速求出三角形面积》中给大家介绍了如何用javascript求出三角形面积,感兴趣的朋友可以去看一下~今天本文将给大家介绍如何编写一个javascript程序来列出javascript对象的属性。 下面我们来给大家详细介绍列…

    编程技术 2025年3月7日
    200
  • 如何给js创建一个数组对象

    本篇文章将开始新的一个章节。我们要执行的都离不开数组,今天我们就来学习一个最简单的,那就是创建数组对象。只有创建好了,才能使用,快来学习吧。 我们要学习的是数组,那我们怎么能不知道数组是什么呢?先来看看什么是数组吧。 数组是元素的有序序列。…

    2025年3月7日
    200
  • js如何使用索引访问数组对象中的元素

    上一篇文章中我们了解了什么是数组,如何去创建一个数组,请看《如何给js创建一个数组对象》。这次我们来了解一下使用索引访问数组对象中元素的方法,有需要的可以参考参考。 当我们创建了数组之后,需要怎么做呢?是不是应该将创建好的数组里的元素给输出…

    2025年3月7日
    200
  • js如何给数组添加元素

    上一篇文章中我们了解了使用索引访问数组对象中元素的方法,请看《js如何使用索引访问数组对象中的元素》。这次我们来了解一下给数组添加元素的方法,有需要的可以参考参考。 在javascript中,有三种方法可以向数组中添加元素,首先让我们看第一…

    2025年3月7日
    200
  • 你知道JavaScript中的可迭代对象与迭代器吗

    迭代是访问集合元素的一种方法;可以被迭代的对象称为可迭代对象;迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问结束,迭代器只能前进不会后退。 Lazy evaluation Lazy evalua…

    2025年3月7日 编程技术
    200
  • javascript如何删除数组首尾元素?

    上一篇文章中我们了解了给数组添加元素的方法,请看《js如何给数组添加元素》。这次我们来了解一下删除数组首尾元素的方法,有需要的可以参考参考。 之前我们在数组中添加了元素,这次我们想将数组中首尾的元素删除,应该怎么做呢?首先我们来看一下删除数…

    2025年3月7日
    200
  • 解析如何通过javascript来反转数字

    “反转数字”就是逆序输出数字,比如一个数字12345,反转后就是54321;那么在《通过php程序快速将一个正整数反转输出》中我们讲解了如何通过php反转一个数,感兴趣的朋友可以了解一下~ 本文的中心则是讲解如何通过javascript来反…

    2025年3月7日
    200

发表回复

登录后才能评论