JavaScript小项目 画布

08-Fun with HTML5 Canvas

主要功能是能够在页面中画曲线,并且颜色是在不断地变化的

项目描述:

项目代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>HTML5 Canvas</title>
</head>
<body>
  <canvas id="draw" width="800" height="800"></canvas>

<script>
  // 获取画布,并设置它的宽高度
  const canvas=document.querySelector('#draw')
  canvas.width=window.innerWidth;
  canvas.height=window.innerHeight;

  const cts=canvas.getContext('2d')
  // 设置颜色
  cts.strokeStyle='#BADA55';
  // 交点处为圆的
  cts.lineJoin='round'
  cts.lineCap='round'
  cts.lineWidth=20;

  let isDraw =false
  let lastX=0;
  let lastY=0;
  let hue =0;

  function draw(e){
    // console.log(e);
    if(!isDraw) return;
    cts.strokeStyle=`hsl(${hue},100%,50%)`;
    // 开始一个新的路径
    cts.beginPath();
    // 路径的起始点
    cts.moveTo(lastX,lastY)
    // 路径的结束的点
    cts.lineTo(e.offsetX,e.offsetY);
    cts.stroke()
    lastX=e.offsetX
    lastY=e.offsetY
    hue++
    if(hue >=359){
      hue=0
    }
    
  }

  canvas.addEventListener('mousemove',draw);
  canvas.addEventListener('mousedown',(e)=>{
    isDraw=true;
    [lastX,lastY]=[e.offsetX,e.offsetY]
  })
  canvas.addEventListener('mouseup',()=> isDraw=false)
  canvas.addEventListener('mouseout',()=> isDraw=false)

</script>

<style>
  html, body {
    margin: 0;
  }
</style>

</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值