更新记录
1.0.1(2021-03-05)
下载此版本
补充一下说明文档
1.0.0(2021-03-04)
下载此版本
手写板第一个版本,整合了最近工作中用到的几个功能
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue |
× |
√ |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
× |
√ |
√ |
√ |
手写板、签字板、画板
示例代码
<template>
<view>
<zwp-draw-pad width="500" height="500" />
</view>
</template>
使用说明
名称 |
类型 |
默认值 |
描述 |
width |
Number |
- |
组件宽度,必填 |
height |
Number |
- |
组件高度,必填 |
color |
String |
#000 |
画笔颜色 |
size |
Number |
3 |
画笔粗细 |
disabled |
Boolean |
false |
是否禁用 |
内部方法
名称 |
描述 |
返回值 |
init |
清空画板的当前内容 |
- |
back |
在当前画板内容中回退到上一笔 |
- |
save |
保存当前内容为图片 |
Promise |
saveCache |
保存当前内容到缓存 |
- |
restoreCache |
从缓存中恢复画板内容 |
- |
clearCache |
清空缓存(不会清空当前画板内容) |
- |
drawByData |
根据传入的点数据绘制图形 |
- |
注意事项
init
方法仅清空当前画板的内容,不会清除缓存数据
-
save
方法的参数是options对象: 详情参考uniapp官方文档
const options = {
x,
y,
width,
height,
destWidth,
destHeight,
fileType,
quality
} // 就这几个属性,其他的不要传;这些属性都有默认值,所以一般不用传options参数,直接调save()就可以了
this.$refs.drawPad.save(options).then(res => {
console.log('保存图片的地址', res.tempFilePath)
})
-
saveCache
方法的第一个参数为key,之后需要恢复画布内容就会用到对应的key;方法使用ES6的Map来实现,所以key的类型可以随便定义无所谓;第二个参数为保存后是否清空画布,默认为true;
const globalKey = Symbol('画布第一页的内容')
this.$refs.drawPad.saveCache(globalKey)
-
restoreCache
方法使用key来恢复画布内容
this.$refs.drawPad.restoreCache(globalKey) // globalKey是上一步保存用的key
clearCache
清空缓存中的数据,不会清空当前画布内容,和init
刚好相反
-
drawByData
这个方法一般是用不到,这是给其他几个方法用的。根据传入的点数据绘制图形,格式为三级数组
data = [
[[x, y], [x, y]],
[[x, y], [x, y]],
[[x, y], [x, y]],
...
] // data[i]表示第i笔, data[i][j]表示第i笔的第j个点
- 具体用法请下载示例项目查看