html 手写签名 撤销,[转]H5 canvas手写签名
html,body{
margin: 0;
padding: 0;
}
.saveimg{
text-align: center;
}
.saveimgs span{
display: inline-block;
margin-top:5px;
}
清空画板
Line width :
1
3
5
7
9
11
Color :
black
blue
red
green
yellow
gray
保存
var mousePressed = false;
var lastX, lastY;
var ctx = document.getElementById('myCanvas').getContext("2d");
var c = document.getElementById("myCanvas");
// console.log(c)
// console.log(c2)
var control = document.getElementsByClassName("control")[0];
var saveimgs = document.getElementsByClassName("saveimgs")[0];
window.onload = function(){
InitThis();
}
function saveImageInfo(){
var image = c.toDataURL("image/png");
var ctximg = document.createElement("span");
ctximg.innerHTML = "";
if(saveimgs.getElementsByTagName('span').length >= 1){
var span_old = saveimgs.getElementsByTagName("span")[0];
saveimgs.replaceChild(ctximg,span_old)
}
else{
saveimgs.appendChild(ctximg);
}
// console.log(image)
}
var selected1,selected2;
function aaa(){
var sel = document.getElementById('selWidth');
var value = sel.selectedIndex;
return selected1 = sel[value].value;
}
function aaa2(){
var sel2 = document.getElementById('selColor');
var value = sel2.selectedIndex;
return selected2 = sel2[value].value;
}
function InitThis() {
// 触摸屏
c.addEventListener('touchstart', function (event) {
console.log(1)
if (event.targetTouches.length == 1) {
event.preventDefault();// 阻止浏览器默认事件,重要
var touch = event.targetTouches[0];
mousePressed = true;
Draw(touch.pageX - this.offsetLeft, touch.pageY - this.offsetTop, false);
}
},false);
c.addEventListener('touchmove', function (event) {
console.log(2)
if (event.targetTouches.length == 1) {
event.preventDefault();// 阻止浏览器默认事件,重要
var touch = event.targetTouches[0];
if (mousePressed) {
Draw(touch.pageX - this.offsetLeft, touch.pageY - this.offsetTop, true);
}
}
},false);
c.addEventListener('touchend', function (event) {
console.log(3)
if (event.targetTouches.length == 1) {
event.preventDefault();// 阻止浏览器默认事件,防止手写的时候拖动屏幕,重要
// var touch = event.targetTouches[0];
mousePressed = false;
}
},false);
/*c.addEventListener('touchcancel', function (event) {
console.log(4)
mousePressed = false;
},false);*/
// 鼠标
c.onmousedown = function (event) {
mousePressed = true;
Draw(event.pageX - this.offsetLeft, event.pageY - this.offsetTop, false);
};
c.onmousemove = function (event) {
if (mousePressed) {
Draw(event.pageX - this.offsetLeft, event.pageY - this.offsetTop, true);
}
};
c.onmouseup = function (event) {
mousePressed = false;
};
}
function Draw(x, y, isDown) {
if (isDown) {
ctx.beginPath();
ctx.strokeStyle = selected2;
ctx.lineWidth = selected1;
ctx.lineJoin = "round";
ctx.moveTo(lastX, lastY);
ctx.lineTo(x, y);
ctx.closePath();
ctx.stroke();
}
lastX = x; lastY = y;
}
function clearArea() {
// Use the identity matrix while clearing the canvas
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
// 清除签名图片
if(saveimgs.getElementsByTagName('span').length >= 1){
var clearImg = saveimgs.getElementsByTagName('span')[0];
saveimgs.removeChild(clearImg);
}
}
html 手写签名 撤销,[转]H5 canvas手写签名相关推荐
- H5 VUE实现手机签名功能
H5 VUE实现手机签名功能 功能描述: 利用canvas实现手机签名转化成图片( 包含重绘,由于手机全屏展示 所以还添加了图片翻转) 上传后台 功能展示: 这里是封装了一个小组件 废话不多说上代码: ...
- vue3+h5实现手写签名
接上 还是同一个后台 还是同一个h5页面- 先看效果 点击签字 跳转路由 canvas页面主要实现手写签名部分 <template><div class="canvasPa ...
- canvas 插件_基于Angular的Canvas手写签名插件
灵感来源 之前, 在轻流的业务中遇到了一个需求, 是能够让客户使用手写签名的功能. 签名演示 问题来了, 这...我不会啊! 这得是Canvas了吧. 正所谓, 插件用的好, 下班走的早. 于是我就开 ...
- html5采集手写签名,前端canvas手写签名(含移动端)
image.png 直接上代码 手写签名 html, body { margin: 0; padding: 0; } .saveimg { text-align: center; } .saveimg ...
- 在线签名、canvas手写在线签名——小程序端实现在线签名,手写电子签名canvas
在线签名.canvas手写在线签名--小程序端实现在线签名,手写电子签名canvas 近期公司准备接一个政府的小项目,里头有一个在线签名的需求,老板让我研究一下.于是就...开始思考: 在线手写签名, ...
- android 手写签批_Android自定义实现手写签名功能
一.Android自定义View步骤 : 自定义属性: 选择和设置构造方法: 重写onMeasure()方法: 重写onDraw()方法: 重写onLayout()方法: 重写其他事件的方法(滑动监听 ...
- html5 canvas手写画板 下载图片至本地
html5 canvas手写画板 下载图片至本地 <!DOCTYPE html> <html><head><meta charset="utf-8& ...
- canvas 手写毛笔字效果
<!doctype html> <html lang="en"> <head><meta charset="UTF-8" ...
- vue 手写签名_用 Mac 制作手写签名,没打印机也能搞事
得益于基础设施进步,现在想搞点事,比以前快捷便利多了,线下能办的事儿一部分转到了线上,一人一机,操纵于千里. 开展业务,很多地方都会要求你提供签字授权,比如想给网站做个备案,或者想快速走个线上合同, ...
最新文章
- Qt动画框架The Animation Framework
- Oracle varchar2或char类型的byte和char的区别
- java C++ 实现 leetcode 第三题 3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
- 放大缩小保证div对齐_NFS Write IO 不对齐深度分析
- mysql 创建用户并授权_教你MySQL-8.0.x数据库授权
- 微课--25分钟学会使用Python群发电子邮件
- 2018蓝桥杯B组:猴子分香蕉(C++/JAVA)
- 超好用的数据迁移工具
- 【渝粤题库】陕西师范大学200841 西方法律思想史作业
- Fig (无花果)任务流水线式 多线程框架使用
- Inspector工具使用
- Win8/Win10 Ctrl+Alt+方向键 屏幕显示翻转解决办法
- Java项目:基于ssm汽车配件管理系统(计算机毕业设计)
- php var的解释
- 关于ascii编码的原理,特征及用途
- vrf中的ipsec
- 黑莓Curve 9360拥有NFC技术
- Centos Linux 单机安装 Hive 、使用 Hive
- 【c语言】在一个一维整数组中找出其中最大的数及其下标
- gzip 解压_简简单单_百度空间