canvas实现电子签名

news/2024/11/7 12:38:33/

效果图:

效果图

实现思路:

  1. 使用canvas来实现手写签名的功能,然后将canvas转化为图片
  2. 通过监听鼠标mousedown/mousemove/mouseup/mouseleave 来实现

html布局

  <div class="container"><canvas id="canvas" width="500" height="500"></canvas><div><button id="clear">清空画布</button>线条粗细<select id="selWidth"><option value="2">2</option><option value="4">4</option><option value="6">6</option><option value="9">9</option></select>线条颜色<select id="selColor"><option value="red">red</option><option value="blue">blue</option><option value="pink">pink</option><option value="orange">orange</option></select><button id="imgInfo">保存签名</button></div><div class="imgs" id="imgs"></div></div>

css样式:

* {margin: 0;padding: 0;
}
#canvas {border: 1px solid black;
}

javascript:

 //1.获取canvasvar myCanvas = document.getElementById("canvas");//获取2d对象var ctx = myCanvas.getContext("2d");//清空画布var clear = document.getElementById("clear");//线条var selWidth = document.getElementById("selWidth");// 颜色var selColor = document.getElementById("selColor");// 保存签名var imgInfo = document.getElementById("imgInfo");// 保存的盒子var imgs = document.getElementById("imgs");//控制线条是否画var isMouseMove = false;//线条位置var lastX, lastY;var widthVal = selWidth[0].value, colorVal = selColor[0].value;window.onload = function () {initCanvas();};//初始化function initCanvas() {//PC端var down = (e) => {isMouseMove = true;drawLine(event.pageX - myCanvas.offsetLeft,event.pageY - myCanvas.offsetTop,false);};let move = (e) => {if (isMouseMove) {drawLine(event.pageX - myCanvas.offsetLeft,event.pageY - myCanvas.offsetTop,true);}};let up = (e) => {isMouseMove = false;};let leave = (e) => {isMouseMove = false;};myCanvas.addEventListener("mousedown", down);myCanvas.addEventListener("mousemove", move);myCanvas.addEventListener("mouseup", up);myCanvas.addEventListener("mouseleave", leave);}//画线function drawLine(x, y, isT) {if (isT) {ctx.beginPath();ctx.lineWidth = widthVal; //设置线宽状态ctx.strokeStyle = colorVal; //设置线的颜色状态ctx.lineCap = 'round'ctx.lineJoin = "round";ctx.moveTo(lastX, lastY);ctx.lineTo(x, y);ctx.stroke();ctx.closePath();}// 每次移动都要更新坐标位置lastX = x;lastY = y;}//清空画图function clearCanvas() {imgs.innerHTML = ""ctx.beginPath();ctx.clearRect(0, 0, myCanvas.width, myCanvas.height);ctx.closePath(); //可加入,可不加入}//线条粗细function lineCrude() {let activeIndex = selWidth.selectedIndex;widthVal = selWidth[activeIndex].value;}//改变颜色function setColor() {let activeIndex = selColor.selectedIndex;colorVal = selColor[activeIndex].value;}//保存图片function saveImgInfo() {var images = myCanvas.toDataURL('image/png');imgs.innerHTML = `<img src='${images}'>`}clear.addEventListener("click", clearCanvas);selWidth.addEventListener("change", lineCrude);selColor.addEventListener("change", setColor);imgInfo.addEventListener("click", saveImgInfo);

手机端canvas实现电子签名
小程序canvas生成海报


http://www.ppmy.cn/news/814158.html

相关文章

电子邮箱

一、概述 电子邮件 EMAIL &#xff0c;是通过计算机网络进行通信的电子化信息传递系统&#xff0c;早期其功能和普通的 邮件类似是电子文字。最早邮件系统可追溯到大型机上的不同邮箱间的报文移动&#xff0c;是本地的&#xff0c; 但不能在不同组织的计算机间通信。 电子邮件系…

电子护照ocr扫描系统

电子护照扫描仪应用背景 电子护照是在传统护照的封面或者当中的某一页内嵌入电子芯片&#xff0c;并将持照人的姓名、性别、出生日期、照片图像、签名、指纹等丰富的个人信息储存在芯片内。自2012年5月15日起&#xff0c;中国公安部门统一开始向普通公民签发普通电子护照。从20…

合同原件、传真件、扫描件法律效力解析

你知道吗&#xff1f;在企业的合同签订与履约过程中&#xff0c;因为各种各样的原因常有合同原件保存不善的情况&#xff0c;仅通过保存合同的传真件、扫描件来管理合同存档十分普遍。 但事实上&#xff0c;合同原件、传真件、扫描件的法律效力是有天壤之别&#xff0c;采用上述…

图片能扫描成电子版吗怎么弄?这个方法你确定不试试吗?

在当今数字化时代&#xff0c;扫描照片已成为保存和分享珍贵回忆的一种常见方式。随着技术的不断进步&#xff0c;扫描照片的质量和效率也不断提高&#xff0c;使得人们能够轻松地将传统的照片转化为数字形式&#xff0c;以便于存储、编辑和分享。从个人家庭相册到历史档案&…

C# winfrom 增值税票识别程序,可识别照片、扫描件、电子票、形成电子台帐。

可以快速、准确的识别并读取发票相关字段信息&#xff0c;与传统的人工录入核对的方式相比&#xff0c;时效性更高&#xff0c;数据准确性更强。 同时&#xff0c;软件具备批量导出功能&#xff0c;数据读取字段与公司综项系统相一致&#xff0c;可以实现快捷的导入到综项系统…

图片复印如何去除黑底_如何去除扫描件的底色? 扫描的图片去除背面的阴影的方法...

很多时候,我们为了获取杂志或其他书本上的一些图片和文字,会用扫描仪扫描图片来使用。尤其是大学生们在写论文的时候,很多时候需要将书本上或其他资料上的图片贴进自己的论文,但又没有电子版的东西可以用来复制,这时候就需要将书本用扫描仪扫描成图片,经过处理扫描后的图…

如何使用ABBYY软件扫描纸质文件并制作电子文件

把纸质文件扫描为PDF文件是保存备份文档的一种方法&#xff0c;也是将纸质书籍制作成电子书的第一步。文字识别软件ABBYY FineReader PDF 15软件中&#xff0c;自带有扫描工具&#xff0c;功能非常强大。 ABBYY软件的扫描工具可以将扫描件直接转换为PDF文件、Word文件、Excel文…

扫描件转换成文字

扫描件转换成文字 毕业生进入职场越来越多,诸如如何制作PPT、excel表、如何修改PDF文件等问题越来越多,小编尽量即使回答。今天小编总结一下网友关于如何扫描文件?什么是OCR?文件扫描后如何改变成word文档?等相关扫描文件的问题,希望对大家有帮助。 首先,如何扫描文…