js+canvas实现网页签字,导出功能

电子签字demo( 代码复制可直接运行 )


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    body {
        margin: 0;
        padding: 0;
        border: 0px;
        height: 100vh;
        width: 100vw;
        display: flex;
    }

    #long_home {
        width: 80vw;
        height: 80vh;
        /* background-color: black; */
        /* margin: auto; */
        position: relative;
    }

    #home_body {
        width: 10vw;
        height: 10vw;
        background-color: rgb(213, 30, 30);
        position: absolute;
        cursor: move;
    }
</style>


<body>

    <div id="long_home">

        <canvas id="myCanvas" width="800" height="500" style="border:1px solid #e30909;margin: 15px; "></canvas>
        <button onclick="clearCanvas()">清空</button>
        <button onclick="exportPicture()">导出图片</button>
    </div>

    <script>

        var canvas = document.getElementById('myCanvas') //获取canvas上下文
        var cvsCtx = canvas.getContext('2d');  //创建canvas2D对象
        let startX = 0  //定义原始X轴坐标点
        let startY = 0  //定义原始y轴坐标点
        // cvsCtx.fillStyle = "#FF0000";
        // cvsCtx.fillRect(408, 260, 40, 40)
        cvsCtx.lineWidth = 2
        canvas.addEventListener('mousedown', ({ x, y }) => {
            isDown = true
            startX = x
            startY = y
            cvsCtx.beginPath();
            canvas.addEventListener('mousemove', droping, false)
        })

        canvas.addEventListener('mouseup', stoping)

        // 开始绘画
        function droping(events) {
            const { x, y } = events

            if (!isDown) return
            cvsCtx.moveTo(x, y)
            cvsCtx.lineTo(startX, startY)
            cvsCtx.stroke()
            startX = x
            startY = y

        }
        //停止绘画
        function stoping() {
            cvsCtx.closePath();
            canvas.removeEventListener('mousemove', droping)
        }
        //清空画布
        function clearCanvas() {
            cvsCtx.clearRect(0, 0, canvas.width, canvas.height)
        }
        //canvas导出图片
        function exportPicture() {
            let url = canvas.toDataURL('image/png')
            console.log('base64地址', url);

        }
       

    </script>
</body>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值