利用 canvas 实现签名效果

使用插件  jSignature  github:https://github.com/brinley/jSignature

如果再H5 中使用需要加载  flashcanvas.js

方法:

方法名称 使用方法 说明
clear .jSignature("clear") 清空并重置画布
getData .jSignature("getData", "base30") 将画布转换为base64编码的数据字符串,可以在表单发布或提交时将其保存为任何数据库中的字符串
importData .jSignature("importData",dataurl) 使用从上述getData方法提取的数据URL更新现有的jSignature画布

选项参数:

参数名称 说明 默认值
width 定义画布的宽度。 没有%或px的数值(新版是可以使用百分比和px后缀的) 250
height 定义画布的高度。 没有%或px的数值(新版是可以使用百分比和px后缀的) 150
color 定义画布上笔画的颜色。 接受任何颜色十六进制值 #000
background-color 定义画布的背景颜色。 接受任何颜色十六进制值 #fff
lineWidth 定义线的厚度。 接受任何正数值(也是默认画布的横线的画笔的宽度) 1
cssclass 定义画布的自定义css类 None
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta charset="utf-8">
  6. <meta name="renderer" content="webkit"/>
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  9. <script src="libs/jquery.js"></script>
  10. <script type="text/javascript" src="libs/flashcanvas.js"></script><![endif]-->
  11. <style>
  12. html,body{
  13. height: 100%;
  14. margin: 0;
  15. padding: 0;
  16. }
  17. #signature{
  18. border: 2px solid #ccc;
  19. background-color:lightgrey;
  20. }
  21.  
  22. .btn-package{
  23. position: absolute;
  24. top:10px;
  25. right: 10px;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30.  
  31. <div id="signature"></div>
  32.  
  33. <div class="btn-package">
  34. <button class="reset">清除</button>
  35. <button class="get">获取</button>
  36. </div>
  37. <script src="libs/jSignature.min.js"></script>
  38. <script>
  39. $(document).ready(function() {
  40. var $sigdiv = $("#signature")
  41. var h = $(window).height()-8;
  42. var sw = $(document.body).width()-4;
  43. console.log(sw);
  44. console.log(h);
  45. $sigdiv.jSignature({
  46. color: "#000",
  47. height: h,
  48. width: sw,
  49. lineWidth:3,
  50. "background-color": "#fff"
  51. });
  52.  
  53. $('.reset').click(function(){
  54. $sigdiv.jSignature("reset")
  55. })
  56.  
  57. $('.get').click(function(){
  58. var data = $sigdiv.jSignature('getData', 'image');
  59. var src = "data:" + data[0] + "," + data[1];
  60. console.log(src);
  61. })
  62. })
  63. </script>
  64.  
  65. <script>
  66.  
  67. </script>
  68. </body>
  69. </html>

  最后效果

利用 canvas 实现签名效果的更多相关文章

  1. canvas 实现签名效果

    效果图 概述 在线签名,现在在很多场景下都能看到,而且在移动端见的比较多. 用canvas和svg都可以实现,而且跨平台能力也很好. canvas基于像素,提供 2D 绘制函数,提供的功能更原始,适合 ...

  2. 利用canvas阴影功能与双线技巧绘制轨道交通大屏项目效果

    利用canvas阴影功能与双线技巧绘制轨道交通大屏项目效果 前言 近日公司接到一个轨道系统的需求,需要将地铁线路及列车实时位置展示在大屏上.既然是大屏项目,那视觉效果当然是第一重点,咱们可以先来看看项 ...

  3. canvas实现倒计时效果示例(vue组件内编写)

    前言: 此事例是在vue组件中,使用canvas实现倒计时动画的效果.其实,实现效果的逻辑跟vue没有关系,只要读懂canvas如何实现效果的这部分逻辑就可以了 canvas动画的原理:利用定时器,给 ...

  4. 10分钟,利用canvas画一个小的loading界面

    首先利用定义下canvas得样式 <canvas width="1024" height="720" id="canvas" styl ...

  5. Android利用canvas画各种图形

    Android利用canvas画各种图形(点.直线.弧.圆.椭圆.文字.矩形.多边形.曲线.圆角矩形) 本文链接:https://blog.csdn.net/rhljiayou/article/det ...

  6. 小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像)

    小程序利用canvas 绘制图案 (生成海报, 生成有特色的头像) 微信小程序生成特色头像,海报等是比较常见的.下面我来介绍下实现该类小程序的过程. 首先选择前端来通过 canvas 绘制.这样比较节 ...

  7. 利用 canvas 破解 某拖动验证码

    利用 canvas 破解 某拖动验证码 http://my.oschina.net/u/237940/blog/337194

  8. 利用Canvas进行绘制XY坐标系

    首先来一发图 绘制XY的坐标主要是利用Canvas setLeft和setBottom功能(Canvas内置坐标的功能) 1.首先WPF中的坐标系都是从左到右,从上到下的 即左上角位置(0,0)点,所 ...

  9. 利用canvas实现的中点Bresenham算法

    Bresenham提出的直线生成算法的基本原理是,每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别,具体的实现过程大家可以去问度娘.我主要是利用canvas画布技术实现了这个 ...

  10. 使用Canvas实现动画效果 | DKlogs -- 设计 | 生活

    使用Canvas实现动画效果 | DKlogs -- 设计 | 生活 使用Canvas实现动画效果

随机推荐

  1. 最详细STL(二)deque

    deque其实也是数组,也可以动态的添加和减少元素,但是和vector不同的是,deque可以快速的在头部和尾部添加减少元素(vector只能快速的在尾部添加),然而在插入元素的时候因为头部和尾部都可 ...

  2. Linux 安装 TeX Live

    安装新版本 cd /tmp # 下载安装压缩包 wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # 解 ...

  3. 【Python】Selenium自动化测试之动态识别验证码图片方法(附静态图片文字获取)

    目录 一.前提 二.获取验证码 三.获取4位验证码 四.判断验证码是否正确 五.输入验证码登录 六.登录页面类 七.完整的获取验证码类代码 八.附录:静态图片文字提取 一.前提 返回目录 经常会遇到登 ...

  4. iptables 工作过程整理

    转载注明出处: 1.概念和工作原理 iptables是Linux系统中用来配置防火墙的命令.iptables是工作在TCP/IP的二.三.四层,当主机收到一个数据包后,数据包先在内核空间处理,若发现目 ...

  5. Angular Material 18+ 高级教程 – CDK Scrolling

    Angular CDK 的意义 经过之前两篇文章 CDK Portal 和 CDK Layout の Breakpoints,我相信大家已经悟到了 CDK 的意义. CDK 有 3 个方向: 包装 B ...

  6. 数据库MySQL-安装、卸载、配置、登录、退出

    一.下载 下载链接:MySQL :: Download MySQL Community Server (Archived Versions) 二.安装(解压)  三.配置 1.添加环境变量 我的电脑- ...

  7. MyBatisPlus——代码生成器

    代码生成器 快速生成各项代码 步骤 创建Generator类,并创建main方法 创建代码生成器 AutoGenerator autoGenerator = new AutoGenerator(); ...

  8. OxyPlot公共属性一览

    一.PlotModel 1.构造函数中设置的属性 public PlotModel() { this.Axes = new ElementCollection(this); //坐标轴集合; this ...

  9. SuperMap iServer数据动态更新刷新地图与数据服务

    更新:2022年6月27日 SuperMap iServer 11i 底层修改逻辑,增加智能指针.11i版本不需要以下操作即可实现 一.使用背景 有这么一个需求,后端也就通过SuperMap iDes ...

  10. python 属性装饰器和对应的setter方法,属性的封装和安全性控制

    当我们在类中定义属性时,通常希望能够对属性的读取和写入进行控制,以确保数据的完整性和安全性.属性装饰器和对应的setter方法提供了一种实现属性封装和安全性控制的方法. 属性装饰器是Python的一种 ...