您现在的位置是:网站首页> 编程资料编程资料
html5 利用canvas手写签名并保存的实现方法canvas画布实现手写签名效果的示例代码如何用canvas实现在线签名的示例代码Html5基于canvas实现电子签名并生成PDF文档
2023-10-16
393人已围观
简介 这篇文章主要介绍了html5 利用canvas手写签名并保存的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近公司在做一个签名的功能,主要用到了canvas画线的功能结合移动端touch事件
js部分是这样的:
window.onload = function() { new lineCanvas({ el: document.getElementById("canvas"),//绘制canvas的父级div clearEl: document.getElementById("clearCanvas"),//清除按钮 saveEl: document.getElementById("saveCanvas"),//保存按钮 // linewidth:1,//线条粗细,选填 // color:"black",//线条颜色,选填 // background:"#ffffff"//线条背景,选填 }); }; function lineCanvas(obj) { this.linewidth = 1; this.color = "#000000"; this.background = "#ffffff"; for (var i in obj) { this[i] = obj[i]; }; this.canvas = document.createElement("canvas"); this.el.appendChild(this.canvas); this.cxt = this.canvas.getContext("2d"); this.canvas.width = this.el.clientWidth; this.canvas.height = this.el.clientHeight; this.cxt.fillStyle = this.background; this.cxt.fillRect(0, 0, this.canvas.width, this.canvas.width); this.cxt.strokeStyle = this.color; this.cxt.lineWidth = this.linewidth; this.cxt.lineCap = "round"; //开始绘制 this.canvas.addEventListener("touchstart", function(e) { this.cxt.beginPath(); this.cxt.moveTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY); }.bind(this), false); //绘制中 this.canvas.addEventListener("touchmove", function(e) { this.cxt.lineTo(e.changedTouches[0].pageX, e.changedTouches[0].pageY); this.cxt.stroke(); }.bind(this), false); //结束绘制 this.canvas.addEventListener("touchend", function() { this.cxt.closePath(); }.bind(this), false); //清除画布 this.clearEl.addEventListener("click", function() { this.cxt.clearRect(0, 0, this.canvas.width, this.canvas.height); }.bind(this), false); //保存图片,直接转base64 this.saveEl.addEventListener("click", function() { var imgBase64 = this.canvas.toDataURL(); console.log(imgBase64); }.bind(this), false); }; 这是效果图:

附上html和css
html,body{ width: 100%; height: 100%; } #canvas{ width: 100%; height: 100%; position: relative; } #canvas canvas{ display: block; } #clearCanvas{ width: 50%; height: 40px; line-height: 40px; text-align: center; position: absolute; bottom: 0; left: 0; border: 1px solid #DEDEDE; z-index: 1; } #saveCanvas{ width: 50%; height: 40px; line-height: 40px; text-align: center; position: absolute; bottom: 0; right: 0; border: 1px solid #DEDEDE; z-index: 1; }清除
保存
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- canvas绘制表情包的示例代码canvas里面如何基于随机点绘制一个多边形的方法详解canvas在圆弧周围绘制文本的两种写法canvas绘制视频封面的方法HTML5 canvas基本绘图之绘制阴影效果HTML5 canvas基本绘图之绘制曲线HTML5 canvas基本绘图之绘制线条HTML5 canvas基本绘图之绘制五角星HTML5 canvas基本绘图之绘制矩形HTML5 canvas基本绘图之绘制线段html5 canvas绘制矩形和圆形的实例代码
- canvas实现飞机打怪兽射击小游戏的示例代码H5 canvas实现贪吃蛇小游戏html5 canvas-2.用canvas制作一个猜字母的小游戏
- 你可能不熟练的十个前端HTML5经典面试题前端HTML+CSS笔试题面试题腾讯前端面试题相关知识点集锦这是今年前端最常见的面试题,你都会了吗(推荐)前端常见面试题总结1 前端高频面试题最全的前端面试题 前端面试题集合BAT及各大互联网公司2014前端笔试面试题(Html,Css篇)面试官一问一答式的前端面试题
- canvas学习笔记之绘制简单路径html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- Html5如何唤起百度地图App的方法html5唤起app的方法
- 详解通过变换矩阵实现canvas的缩放功能html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- canvas绘制文本内容自动换行的实现代码html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 浅谈pc和移动端的响应式的使用html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 天天炫斗15冲16段连招全面解析_手机游戏_游戏攻略_
- 节奏大师新手必看攻略_节奏大师最全新手指南_各种名词图解_手机游戏_游戏攻略_
