文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用canvas画一个微笑的表情

2023-06-09 21:11

关注

这篇文章主要介绍怎么用canvas画一个微笑的表情,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

实习期间让我用canvas画一个表情,比较简单,话不多说直接上代码:

<body><div id="canvas-warp">    <canvas id="canvas" style="display: block; margin: 200px auto;">        你的浏览器居然不支持Canvas!    </canvas></div><script>    window.onload = function () {        var canvas = document.getElementById("canvas");        canvas.width = 400;        canvas.height = 400;        //获取上下文        var context = canvas.getContext("2d");        //用于画有填充色圆的函数  参数分别为圆心坐标 ,半径,起始与终止位置,线颜色,填充颜色        function drawCircle(x2, y2, r2, a2, b2, lineColor, FillColor) {            context.beginPath();            context.arc(x2, y2, r2, a2, b2 * Math.PI);            context.strokeStyle = lineColor;            context.fillStyle = FillColor;            context.fill(); //确认填充            context.stroke();        };        //用于画圆弧函数 默认线条为黑色 无填充 参数分别为:圆心x坐标,圆心y坐标,半径,开始位置,终止位置        function drawsArc(x, y, r, l1, l2) {            context.beginPath();            context.arc(x, y, r, l1 * Math.PI, l2 * Math.PI);            context.strokeStyle = "black";            context.stroke();        };        //用于画眼睛的函数        function darwEyes(x1, y1, a1, b1) { //参数分别为椭圆圆心位置 长轴  短轴            context.strokeStyle = "#754924"            ParamEllipse(context, x1, y1, a1, b1); //椭圆            function ParamEllipse(context, x, y, a, b) {                //使每次循环所绘制的路径(弧线)接近1像素                var step = (a > b) ? 1 / a : 1 / b;                context.beginPath();                context.moveTo(x + a, y); //从椭圆的左端点开始绘制                for (var i = 0; i < 2 * Math.PI; i += step) {                    //参数为i,表示度数(弧度)                    context.lineTo(x + a * Math.cos(i), y + b * Math.sin(i));                }                context.closePath();                context.fillStyle = "#754924";                context.fill();                 context.stroke();            };        };        //脸        drawCircle(200, 200, 200, 0, 2, "#EEE685", "#FCF200");        //左眼        context.strokeStyle = "#754924"        darwEyes(116, 130, 18, 25);        drawCircle(110, 127, 12, 0, 2, "#754924", "#F5F5F5");        //右眼        darwEyes(296, 130, 18, 25);        drawCircle(290, 127, 12, 0, 2, "#754924", "#F5F5F5");        //左眉毛        drawsArc(100, 100, 50, 1.3, 1.7);        //右眉毛        drawsArc(300, 100, 50, 1.3, 1.7);        //嘴巴        drawsArc(200, 120, 180, 0.3, 0.7);    }</script></body>

效果图

怎么用canvas画一个微笑的表情

以上是“怎么用canvas画一个微笑的表情”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯