900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 原生JS实现canvas移动端电子签名板/画板

原生JS实现canvas移动端电子签名板/画板

时间:2023-10-06 01:08:32

相关推荐

原生JS实现canvas移动端电子签名板/画板

GitHub链接-完整文档

最近做一个移动端项目, 有电子签名功能, 生产PNG格式上传服务器, 而且需要横屏签名, 这需要注意移动端的横屏后宽高的变化, 以下是JS核心部分, 完整文档请点击上面链接

var canvas = document.getElementById("canvas");//动态设置宽高canvas.width = 400;canvas.height = 300;var content = canvas.getContext("2d");//设置画笔的样式 content.strokeStyle = "#000";content.lineWidth = 1;content.lineCap = 'round';content.lineJoin = 'round';content.shadowBlur = 1;content.shadowColor = '#000';content.beginPath();//点击canvas.addEventListener("touchstart", function(e) {content.beginPath();var touch = e.targetTouches[0];var x = touch.pageX - canvas.offsetLeft;var y = touch.pageY - canvas.offsetTop;content.moveTo(x, y);});//移动canvas.addEventListener("touchmove", function(event) {event.preventDefault();var touch = event.targetTouches[0];var x = touch.pageX - canvas.offsetLeft;var y = touch.pageY - canvas.offsetTop;content.lineTo(x, y);content.stroke();});//结束canvas.addEventListener("touchend", function(event) {content.closePath();$('.but2').attr('disabled', false);});//清除画布 .but1元素 点击事件document.querySelector(".but1").onclick = function() {content.clearRect(0, 0, canvas.offsetWidth, canvas.offsetHeight);}

竖屏效果:

横屏效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。