美文网首页
canvas实现画笔和橡皮擦

canvas实现画笔和橡皮擦

作者: 看到这朵小fa了么 | 来源:发表于2020-06-10 15:59 被阅读0次

https://juejin.im/post/5edb2d1ef265da7717203113#heading-3

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>JS Bin</title>
    <style>
        body {
            
        }
        #button {
            border: 1px solid pink;
            width: 100px;
        }
        #canvas {
            border: 1px solid;
        }
    </style>
</head>

<body>
    <div id="button">画笔
    </div>
    <canvas id="canvas"></canvas>
  
</body>
<script>
    let canvas = document.getElementById('canvas')
    let ctx = canvas.getContext('2d')
   let isPress = false
   let isDraw = true
   let button = document.getElementById('button')
   button.addEventListener('click', function(){
       if(button.textContent === '画笔'){
           button.textContent = '橡皮'
           isDraw = false
       } else {
           button.textContent = '画笔'
           isDraw = true
       }
   })
   canvas.addEventListener('mousedown', function(){
       isPress = true
       if(isDraw) {
           ctx.beginPath()
       }
   })
   canvas.addEventListener('mousemove', function(e){
       let x = e.offsetX
       let y = e.offsetY
       if(isPress) {
           if(isDraw) {
           ctx.lineTo(x, y)
           ctx.stroke()
        }else {
            ctx.clearRect(x-20, y-20, 20, 20)
        }
       }
       
   })
   canvas.addEventListener('mouseup', function(){
       isPress = false
   })
</script>
</html>

相关文章

网友评论

      本文标题:canvas实现画笔和橡皮擦

      本文链接:https://www.haomeiwen.com/subject/pqjptktx.html