├── README.md ├── css └── index.css ├── demo.html ├── index.html └── js └── canvasSignature.js /README.md: -------------------------------------------------------------------------------- 1 |
canvasSignature是基于html5 canvas及jquery实现手写签名(电子签名)功能的js组件
3 | 4 |8 | 需要最先引入jquery (Bootstrap中文网开源项目免费 CDN 服务): 9 |
10 | ```html 11 | 12 | ``` 13 |14 | 我们需要在页面中引入关键js: 15 |
16 | ```html 17 | 18 | ``` 19 | 20 |23 | (html canvas签名框准备,id为test可自定义) 24 |
25 | ```html 26 | 29 | ``` 30 | 31 |33 | 初始化签名样式(这里仅支持一个签名,如需多个签名框需改写组件) 34 |
35 | ```javascript 36 | $('#test').canvasSignature({ 37 | fillStyle:'transparent', //生成图片背景色,默认为透明 38 | lineWidth:10, //笔画粗细(尺寸),默认为四像素粗细 39 | strokeStyle:'red' //笔画颜色,默认为黑色 40 | }); 41 | ``` 42 |43 | 清除重写 44 |
45 | ```javascript 46 | $('#test').clearSignature(); 47 | ``` 48 |49 | 生成图片(生成图片格式base64包括:jpg、png格式) 50 |
51 | ```javascript 52 | $('#test').createSignature('png'); 53 | ``` 54 | 55 | 56 |方法名 | 60 |参数 | 61 |说明 | 62 |
---|---|---|
canvasSignature | 65 |
66 | fillStyle:生成图片背景色,默认为透明(字符串) 67 | lineWidth:笔画粗细(尺寸),默认为四像素粗细(数字) 68 | strokeStyle:笔画颜色,默认为黑色(字符串) 69 | 注意:参数是以对象形式传入,如: $('#test').canvasSignature({ 70 | fillStyle:'transparent', //生成图片背景色,默认为透明 71 | lineWidth:10, //笔画粗细(尺寸),默认为四像素粗细 72 | strokeStyle:'red' //笔画颜色,默认为黑色 73 | });74 | |
75 | 初始化签名框(主要) | 76 |
clearSignature | 79 |80 | 无 81 | | 82 |清除签名 | 83 |
createSignature | 86 |
87 | 生成图片格式base64包括:jpg、png格式(默认可不填)(字符串) 88 | 注意:参数是以字符串形式传入,如: $('#signName').createSignature('png');89 | |
90 | 生成图片 | 91 |
96 | 兼容IE9及以上浏览器(支持canvas标签功能的浏览器) 97 |
98 | -------------------------------------------------------------------------------- /css/index.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 3 | //author relaxWang begin 2015/12 4 | //last modify 2016/12/13 5 | //Version 0.15 6 | //移动端样式定义,兼容PC端浏览器 7 | */ 8 | 9 | /* reset */ 10 | *{ /*font-family:"Microsoft YaHei","微软雅黑","Helvetica Neue",Helvetica,STHeiTi,sans-serif;*/ font-family:tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-seri; box-sizing:border-box;} 11 | html,body,h1,h2,h3,h4,h5,h6,dl,dt,dd,p,ul,li,form,iframe,object,input{ margin:0px; padding:0px;} 12 | a{ text-decoration:none;} 13 | h1,h2,h3,h4,h5,h6,strong{ font-weight:bold;} 14 | ul,ol,dl{list-style: none outside none;} 15 | input,textarea,select{ font-family:inherit;} 16 | a:active, a:focus, input:active, input:focus, button:active, button:focus{ outline:none; -moz-outline:none;} /*去掉移动端firefox a标签的虚线框 PC chrome文本输入框的边框焦点时候的颜色 */ 17 | input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, button::-moz-focus-inner{ border:none;} /*去掉移动端firefox 按钮获得焦点显示虚线框的样式 */ 18 | table { border-collapse:collapse; border-spacing:0; width:100%;} 19 | html,body{ position:relative; height:100%; width:100%;} /* 注意 某些版本的IE中(IE9)会导致iframe的内容定位错误,请参考是否去掉该属性,或者为iframe增加relative的属性 */ 20 | iframe{ width:100%; height:100%; position:relative;} 21 | /* 清除现代IE浏览器的输入框和密码框的默认交互按钮 */ 22 | ::-ms-clear, ::-ms-reveal{display: none;} 23 | /* 针对不支持语义化标签浏览器做的应对*/ 24 | article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block} 25 | /* chrome内核浏览器对cursor:pointer的样式对象,点击触发样式中会有浅蓝色背景框,用该样式去除 */ 26 | /* -webkit-tap-highlight-color:rgba(255,255,255,0); */ 27 | /* reset end */ 28 | 29 | 30 | body {min-width: 1280px;} 31 | .container {padding:30px 50px 100px;} 32 | .container h3 {margin:10px 0;} 33 | .container h2 {height: 36px;line-height: 36px;margin:20px 0;} 34 | .container a {margin-left:20px;color: #428bca;font-size: 16px;font-weight: 700;} 35 | .container a:hover {color: #2a6496;text-decoration: underline;} 36 | pre {background-color: #f5f5f5;border:1px solid #ccc;padding:10px;overflow: auto;color: #c82829;} 37 | pre span {color: #718c00;} 38 | pre span.b {color: #0086b3;} 39 | p {padding-left: 50px;} 40 | p a {color: #428bca;} 41 | p a:hover {color: #2a6496;text-decoration: underline;} 42 | table {width: 90%;background-color: #eaeff2;} 43 | table tr th {padding: 10px;} 44 | table tr td {padding:10px 10px 10px 20px;background-color: #fff;border:1px solid #eaeff2;} 45 | table tr td:first-child {background-color: #eaeff2;border-color: #fff;} 46 | .paramItem {overflow: hidden;} 47 | .paramItem > strong {display:block;font-weight:normal;color:#fff;padding:5px 10px;background-color: #39A4DC;margin:10px 0;} 48 | .paramItem > div {overflow: hidden;} 49 | 50 | canvas {border:1px solid #ccc;} 51 | img {border:1px solid #ccc;} 52 | button {padding:5px 15px;border:1px solid #ccc;color:#666;background-color: #fff;border-radius: 6px;} 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |canvasSignature是基于html5 canvas及jquery实现手写签名(电子签名)功能的js组件
15 | 16 |20 | 需要最先引入jquery (Bootstrap中文网开源项目免费 CDN 服务): 21 |
22 |23 |
24 | 我们需要在页面中引入关键js: 25 |
26 |27 | 28 |
31 | (html canvas签名框准备,id为test可自定义) 32 |
33 | 36 | 37 |39 | 初始化签名样式(这里仅支持一个签名,如需多个签名框需改写组件) 40 |
41 |$('#test').canvasSignature({ 42 | fillStyle:'transparent', //生成图片背景色,默认为透明 43 | lineWidth:10, //笔画粗细(尺寸),默认为四像素粗细 44 | strokeStyle:'red' //笔画颜色,默认为黑色 45 | });46 |
47 | 清除重写 48 |
49 |$('#test').clearSignature();50 |
51 | 生成图片(生成图片格式base64包括:jpg、png格式) 52 |
53 |$('#test').createSignature('png');54 | 55 | 56 |
方法名 | 60 |参数 | 61 |说明 | 62 |
---|---|---|
canvasSignature | 65 |
66 | fillStyle:生成图片背景色,默认为透明(字符串) 67 | lineWidth:笔画粗细(尺寸),默认为四像素粗细(数字) 68 | strokeStyle:笔画颜色,默认为黑色(字符串) 69 | 注意:参数是以对象形式传入,如: $('#test').canvasSignature({ 70 | fillStyle:'transparent', //生成图片背景色,默认为透明 71 | lineWidth:10, //笔画粗细(尺寸),默认为四像素粗细 72 | strokeStyle:'red' //笔画颜色,默认为黑色 73 | });74 | |
75 | 初始化签名框(主要) | 76 |
clearSignature | 79 |80 | 无 81 | | 82 |清除签名 | 83 |
createSignature | 86 |
87 | 生成图片格式base64包括:jpg、png格式(默认可不填)(字符串) 88 | 注意:参数是以字符串形式传入,如: $('#signName').createSignature('png');89 | |
90 | 生成图片 | 91 |
96 | 兼容IE9及以上浏览器(支持canvas标签功能的浏览器) 97 |
98 | 99 | 100 |