美文网首页
Canvas<基础学习_02(绘制线条)>

Canvas<基础学习_02(绘制线条)>

作者: 誰在花里胡哨 | 来源:发表于2020-03-03 17:06 被阅读0次

效果图:

canvas_02.gif
下面这张图应该可以解决你的部分疑惑,想深入了解的话可以 点击了解更多,或者 点击测试 ~~~~
image.png
代码如下:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        canvas {
            display: block;
            background: #dbdbdb;
        }

        .clear {
            position: fixed;
            top: 20px;
            right: 20px;
            color: coral;
            font-weight: bold;
            font-size: 20px;
            text-decoration: underline;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <span class="clear" onclick="clearCanvas()">清空画布</span>
    <canvas id="canvas"></canvas>
</body>
<script>
    let w = window.innerWidth;
    let h = window.innerHeight;
    let canvas = document.getElementById("canvas");
    let ctx = canvas.getContext("2d");
    canvas.width = w;
    canvas.height = h;
    document.addEventListener("mousedown", mouse_down)
    document.addEventListener("mouseup", mouse_up)
    //清空画布方法
    function clearCanvas() {
        ctx.clearRect(0, 0, w, h);
    }
    //鼠标点击时
    function mouse_down(e) {
        let start_x = e.clientX
        let start_y = e.clientY
        console.log(start_x, start_y)
        ctx.beginPath();
        // 定义线的粗细
        ctx.lineWidth = 5;
        // 定义线的颜色
        ctx.strokeStyle = 'black'
        ctx.moveTo(start_x, start_y);
        document.addEventListener("mousemove", mouse_move)
    }
    //鼠标移动时
    function mouse_move(e) {
        let move_x = e.clientX
        let move_y = e.clientY
        console.log(move_x, move_y)
        ctx.lineTo(move_x, move_y);
        ctx.stroke();
    }
    ////鼠标松开时
    function mouse_up(e) {
        //移除鼠标监听
        document.removeEventListener("mousemove", mouse_move)
    }
</script>

</html>

相关文章

网友评论

      本文标题:Canvas<基础学习_02(绘制线条)>

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