• 重庆“轮椅教师”高位截瘫仍坚守讲台 2019-07-07
  • 百度车联网携手宝马 合作伙伴全面升级为国际OEM厂商 2019-07-01
  • 全面从严治党永远在路上——辽宁代表团开放日侧记 2019-07-01
  • 【学习时刻】华侨大学黄日涵:“一带一路”盛会开启合作发展新篇章 2019-06-24
  • 秒变迷弟!吴建豪晒与甄子丹合影:偶像给我签名 2019-06-20
  • 军统头目戴笠留下哪些巨额遗产 令蒋介石身边人惊诧 2019-06-20
  • 初春喝藿香汤 解表化湿,散寒温经 2019-06-18
  • 新华时评:磋商,不等于反复折腾 2019-06-09
  • 天山特克斯峡谷 中国国家地理网 2019-06-08
  • 端午小长假珠海口岸将迎双向客流高峰 2019-06-08
  • 王朝崩塌!恒大半个月内双线出局 卡帅敲响下课警钟 2019-06-07
  • 一周人事:国务院发布任免刘伟当选北京市总工会主席 2019-06-07
  • 敞篷式设计 日产聆风Open Car官图发布 2019-06-06
  • 习近平为传统文化“代言” 2019-06-05
  • 奋力谱写新时代追赶超越新篇章——访陕西省委书记胡和平 2019-06-04
  • 香港赛马会博彩堂:详解如何用canvas画一个微笑的表情

      发布时间:2019-03-14 15:11:37   作者:Youki   我要评论

    这篇文章主要介绍了详解如何用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绘制表情包的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2018-07-09

    最新评论

  • 重庆“轮椅教师”高位截瘫仍坚守讲台 2019-07-07
  • 百度车联网携手宝马 合作伙伴全面升级为国际OEM厂商 2019-07-01
  • 全面从严治党永远在路上——辽宁代表团开放日侧记 2019-07-01
  • 【学习时刻】华侨大学黄日涵:“一带一路”盛会开启合作发展新篇章 2019-06-24
  • 秒变迷弟!吴建豪晒与甄子丹合影:偶像给我签名 2019-06-20
  • 军统头目戴笠留下哪些巨额遗产 令蒋介石身边人惊诧 2019-06-20
  • 初春喝藿香汤 解表化湿,散寒温经 2019-06-18
  • 新华时评:磋商,不等于反复折腾 2019-06-09
  • 天山特克斯峡谷 中国国家地理网 2019-06-08
  • 端午小长假珠海口岸将迎双向客流高峰 2019-06-08
  • 王朝崩塌!恒大半个月内双线出局 卡帅敲响下课警钟 2019-06-07
  • 一周人事:国务院发布任免刘伟当选北京市总工会主席 2019-06-07
  • 敞篷式设计 日产聆风Open Car官图发布 2019-06-06
  • 习近平为传统文化“代言” 2019-06-05
  • 奋力谱写新时代追赶超越新篇章——访陕西省委书记胡和平 2019-06-04
  • 萨索洛v切沃比分 宁夏11选5开奖结果查询结果 山东十一选五计划群 快速时时彩 青海麻将258将手机 大三元水果老虎机 广东快乐10分单双 十一选五开奖时间 快乐8是不是真的 森巴宾果客服