最近一直在研究canvas的东西,正好之前对手写签名这块有点兴趣。就自己基于vue写了一个简易的手写签名demo。
其中原理比较简单,先生成一个canvas画布,并对canvas进行touchstart和touchmove事件进行监听。当监听touchstart事件被触发时,我们开始触发canvas里的beginPath事件并且设置moveTo原始点。当监听touchmove事件则去不断去触发lineTo事件,最后stroke()。
demo里还有清除签名和保存签名的功能,分别对应了clearRect()和toDataURL()方法。
具体的demo代码如下:
清除
保存
.btn {
height: px2Vw(55);
position: fixed;
bottom: 0;
line-height: px2Vw(55);
border-top: px2Vw(1) solid #f7f8f9;
span {
display: inline-block;
width: px2Vw(185);
text-align: center;
}
}
canvas {
position: fixed;
border: 2px dashed #cccccc;
float: right;
}
代码运行后的效果图如下:
这只是个简易的demo,肯定会有很多未考虑到的地方。demo的下载地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



