canvas-画一颗心

一、思路

采用三次贝塞尔曲线,因为曲线度数不是二次可以控制的,其次就是自己找一个有坐标的心,大概找到控制点,画完一半就可以对称完成

二、代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>canvas</title>
</head>
<body οnlοad="draw();">
  <canvas width="500" height="500" id="canvas"></canvas>

  <script>
    function draw() {
      var canvas = document.getElementById('canvas');
      if (canvas.getContext){
        var ctx = canvas.getContext('2d');

        ctx.beginPath();
        ctx.moveTo(40,30);
        ctx.bezierCurveTo(40,20,30,10,20,10);
        ctx.bezierCurveTo(10,10,0,20,0,30);
        ctx.bezierCurveTo(2,45,16,60,40,80);
        ctx.bezierCurveTo(64,60,78,45,80,30);
        ctx.bezierCurveTo(80,20,70,10,60,10);
        ctx.bezierCurveTo(50,10,40,20,40,30);
        ctx.fillStyle = '#ff0000';
        ctx.fill();
          
        ctx.fillStyle = "#000000";//颜色
        ctx.font = "normal 20px 微软雅黑";//字体
       ctx.textBaseline = "middle";//竖直对齐
       ctx.textAlign = "center";//水平对齐 
        // ctx.moveTo(40,30);
        ctx.fillText("邢悦", 40, 45, 40);
      }
    }
  </script>
</body>
</html>

 

转载于:https://www.cnblogs.com/it-cuiyi/p/10978625.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值