js 电子签名涂鸦,且支持转为png图片

背景:有个业务需要用户签署一个承诺书,电子签名,并生成图片,所以就看了一些线上签名且生成图片的技术和插件,自己研究了一下。

1. elesigncode 第三方插件

首先在github看到【elesigncode】这个现成的插件,可以实现我的业务需求。

2. elesign 自己开发的一个线上签名

看了别人做的后,我就在想这个电子涂鸦和生成图片的核心技术点是什么。然后看到了这篇文档:http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/201502101363.html。线上涂鸦的核心,是通过canvas进行绘制,鼠标每move一下,就绘制一条线,生成图片核心是【document.getElementById("myCanvas").toDataURL("image/png")】。

自己做的一个demo,可以实现更换笔的粗细、颜色、转为png、清空 功能。

代码仓库:github地址 : https://github.com/lishengqin/elesign

在线访问地址:https://lishengqin.github.io/elesign/#/graffiti

【npm install elesign】在项目中安装组件在项目中使用。

ps:目前有个缺陷,无法设置画布的初始值,这个正在处理。

今天有时间处理了一下初始值问题,初始值核心本质就是将  通过canvas 的 toDataURL() 方法,生成图片,然后再通过画布的drawImage方法回显出来。

 

 

 

 

 

3. 过程中遇到的问题:

3.1 elesign 刷头采用图片时,调用画布的canvas.toDataURL方法报错,canvas无法执行toDataURL方法:污染的画布无法输出。

 

 

 

 

 

 

 

 

 
 
posted @ 2023-01-03 13:51  蛙仔  阅读(467)  评论(0编辑  收藏  举报