HTML5 canvas画简单的叮当猫头

[复制链接]
查看1615 | 回复0 | 2021-2-26 09:14 | 显示全部楼层 |阅读模式
html5的canvas是很强大的,下面本篇文章使用html5 canvas 实现一个简单的叮当猫头部。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。


  1. <div class="doraemon">
  2.     <canvas id="face" width="600" height="1500">您的浏览器不支持canvas</canvas>
  3. </div>
  4. <script>
  5.        var face = document.getElementById('face').getContext("2d");
  6.        face.arc(252,252,250,0,360*Math.PI/180);
  7.        face.fillStyle = '#07beea';  //设置填充颜色
  8.          face.fill();  //填充
  9.          face.lineWidth = 2;   //轮廓线宽度
  10.          face.strokeStyle = '#333';   //轮廓线颜色
  11.          face.stroke();   //画轮廓线

  12.          face.beginPath();     //重置当前绘画路径
  13.          face.moveTo(160,450);   //画笔移动到起始点
  14.          face.bezierCurveTo(0,400,0,110,210,115);    //三次贝塞尔曲线(左边)
  15.          face.lineTo(290,115);   
  16.         face.bezierCurveTo(500,110,500,400,340,450);  
  17.         face.bezierCurveTo(280,470,220,470,160,450);  
  18.         face.fillStyle = '#fff';
  19.         face.fill();
  20.         face.stroke();   //画出边框

  21.          face.beginPath();         //重置当前绘画路径 用于画眼睛和鼻子
  22.          face.moveTo(150,150);
  23.         face.lineTo(150,100);        //左眼左竖线
  24.          face.bezierCurveTo(160,50,240,50,250,100);   //左眼下面
  25.          face.lineTo(250,150);            //左眼右竖线
  26.          face.bezierCurveTo(240,200,160,200,150,150);   //左眼上面
  27.          face.moveTo(250,150);
  28.         face.lineTo(250,100);              //右眼左竖线
  29.          face.bezierCurveTo(260,50,340,50,350,100);   //右眼上面
  30.          face.lineTo(350,150);               //右眼右竖线
  31.          face.bezierCurveTo(340,200,260,200,250,150);   //右眼下面
  32.          face.fillStyle = '#fff';
  33.         face.fill();
  34.         face.stroke();

  35.         
  36.          face.beginPath();
  37.          face.arc(225,155,10,0,360*Math.PI/180);   //眼珠
  38.           face.arc(275,155,10,0,360*Math.PI/180);
  39.          face.fillStyle = '#333';   
  40.          face.fill();

  41.          face.beginPath();    //鼻子
  42.           face.arc(250,197,25,0,360*Math.PI/180);   
  43.          face.fillStyle = '#c93e00';   
  44.          face.fill();
  45.          face.stroke();

  46.          face.beginPath();
  47.          face.arc(260,190,10,0,360*Math.PI/180);
  48.          var grd = face.createRadialGradient(260,190,2,260,190,10);   //设置内外圆原点和半径  
  49.           grd.addColorStop(0,'#fff');
  50.          grd.addColorStop(1,'#c93e00');
  51.          face.fillStyle = grd;
  52.          face.fill();

  53.          //嘴巴
  54.           face.beginPath();
  55.          face.moveTo(250,222);
  56.          face.lineTo(250,395);
  57.          face.moveTo(100,320);
  58.          face.bezierCurveTo(180,420,320,420,400,320);
  59.          face.lineWidth = 3;
  60.          face.stroke();

  61.          //胡须
  62.           face.beginPath();
  63.          face.moveTo(80,200);
  64.          face.lineTo(180,220);
  65.          face.moveTo(80,245);
  66.          face.lineTo(180,245);
  67.          face.moveTo(80,290);
  68.          face.lineTo(180,270);

  69.          face.moveTo(320,220);
  70.          face.lineTo(420,200);
  71.          face.moveTo(320,245);
  72.          face.lineTo(420,245);
  73.          face.moveTo(320,270);
  74.          face.lineTo(420,290);
  75.          face.stroke();

  76. </script>
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
434
贡献
3
丢币
0
主题
59
回帖
0
注册时间
2021-2-21
最后登录
2021-12-28