<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" id="viewport" name="viewport">
<meta name="format-detection" content="telephone=no, email=no" />
<meta name="description" content="" />
<meta name="wap-font-scale" content="no"><!--uc浏览器判断到页面上文字居多时,会自动放大字体优化移动用户体验。这个可以禁止掉-->
<meta name="keywords" content="" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<meta name="apple-touch-fullscreen" content="yes"/><!-- 是否启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单栏 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black"/><!-- 设置苹果工具栏颜色:默认值为 default,可以定为 black和 black-translucent-->
<meta http-equiv="Cache-Control" content="no-siteapp" /><!-- 不让百度转码 -->
<meta name="HandheldFriendly" content="true"><!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
<meta name="MobileOptimized" content="320"><!-- 微软的老式浏览器 -->
<meta name="screen-orientation" content="portrait"><!-- uc强制竖屏 -->
<meta name="x5-orientation" content="portrait"><!-- QQ强制竖屏 -->
<meta name="x5-page-mode" content="app"><!-- QQ应用模式 -->
<meta name="msapplication-tap-highlight" content="no"><!-- windows phone 点击无高光 -->
<meta name="apple-mobile-web-app-capable" content="yes"><!-- ios 开启对web app程序的支持 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- ios 改变顶部状态条的颜色 -->
<title>canvas签名板文档</title>
<link rel="stylesheet" href="css/colpick.css" />
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
<style>
pre{
padding: 0;
margin: 0;
background-color: transparent;
border-radius: 0;
border: none;
}
.pl-30{
padding-left: 30px;
}
.font-26{
font-size: 26px;
font-weight: 500;
}
.pt-20{
padding-top: 20px;
}
img{
max-width: 100%;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>
hljs.configure({tabReplace: ' '});
hljs.initHighlightingOnLoad();
</script>
</head>
<body>
<div class="container">
<div class="row">
<h1>canvas签名板文档</h1>
<h2>基本使用</h2>
<pre>
<code class="javascript">
<div id="my_tablet"></div>
<script type="text/html" id="temp">
<span>
画笔粗细
<select>
<option value="1">1</option>
<option value="3">3</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10" selected>10</option>
<option value="15">15</option>
<option value="20">20</option>
</select>
<span class="save-canvas-to-img">
保存图片
</span>
<select>
<option value="0">正常</option>
<option value="90">顺时针旋转90度</option>
<option value="-90">逆时针旋转90度</option>
<option value="180">旋转180度</option>
</select>
<span class="get_blob">获取blob对象</span>
</span>
</script>
<script>
var tablet = new Tablet("#my_tablet",{
// 默认字体颜色
defaultColor: "#2e76da",
// 是否允许选择字体颜色
selectColor: true,
/* canvas画布是否响应式,默认为true。当设置为响应式后浏览器大小改变后会重新计算canvas画布的宽高,
并且之前绘制的内容会被清除掉(canvas的一个特性)*/
response: true,
// canvas的宽度,宽度可以传递函数。不传宽度默认为canvas的父元素的宽度
width: 0,
// canvas的宽度,高度可以传递函数。不传宽度默认为canvas的父元素的高度
height: 0,
// 签名板的额外class
extraClass: "",
// 清屏按钮的innerHTML
clearBtnHtml: "",
// 保存图片的innerHTML
saveBtnHtml: "",
// 工具栏中额外的html(可以实现一些自定义功能)
otherHtml: $("#temp").html(),
// tablet初始化后执行的函数(此时canvas上下文并未初始化)
onInit: function (){
var that = this,
container = this.container;
container.find("select").eq(0).on("change", function (){
that.setLineWidth($(this).val());
});
container.find("select").eq(1).on("change", function (){
that.rotate($(this).val());
});
container.find(".save-canvas-to-img").on("click", function (){
that.getBase64();
});
container.find(".get_blob").on("click", function (){
that.getBlob();
});
/*container.find(".download").on("click", function (){
document.getElementById("preview_img").src = that.getBase64();
});*/
},
// 清除画布前执行的函数,如果该函数返回false,则不会进行清除
onBeforeClear: function() {},
// 清除画布后执行的函数
onClear: function() {}
});
</script>
</code>
</pre>
<p>效果如图:</p>
<img src="images/tablet.png" alt="" />
<div class="pt-20"></div>
<h2>实例方法</h2>
<blockquote>
<span class="font-26">clear</span>
</blockquote>
<p class="pl-30"><code>clear()</code>方法用于清空画布。返回值为当前Tablet实例</p>
<blockquote>
<span class="font-26">getBase64</span>
</blockquote>
<p class="pl-30">
<code>getBase64(type)</code>获取画布的base64数据,拿到的是base64字符串。
<code>type</code>参数为图片类型,可选值�