Uniapp微信小程序开发画布实现手写签名,预览并保存上传签名,将画布签名转换为base64格式

小程序开发


浏览:665 次

要求:在小程序开发期间,当加入俱乐部时,您需要验证您的签名是否计算了折扣。加入俱乐部时,您需要上传手写签名信息。检查数据后,有几个不同的版本,您已经修改并测试了两个版本。你觉得每个人都有自己的优势。第一个偶尔会卡住(Android系统,经过两次改写),但笔记是一致的,你看起来很舒服,第二个很弱。但是,手写不准确,签名看起来不精确,所以选择第一个进行改写

代码部分

一些html功能点应该根据项目要求适当发布。如果你想解锁btn,你需要看看btn的位置样式!将左下角的值调整到适当的位置(当前有切换手写颜色、重写、保存到本地、上传和确认签名等功能点)

<模板>

class=“black select”数据color=“black”数据color value=“#1A1A1A”><;/图像>

class=“red select”data color=“red”datacolor value=“#ca262a”><;/图像>

<按钮@点击。stop=“retDraw”class=“delBtn”>覆盖</按钮>

gt;

gt;

<按钮@点击。stop=“previewCanvasImg”class=“previewBtn”>预览</按钮>

gt;

<按钮@点击。stop=“subCanvas”class=“subBtn”>完成</按钮>

@touchend=“uploadScaleEnd”@click=“mouseDown”canvas id=“handWriting”>

手写板</view>

Js段

数据(){

返回{

电话:“”,

尼克:“”,

名称:“”,

saveArr:[0,0,0],

源代码:“”,

blackImg:require(“../../static/images/sign/color_black.png”),

blackImgSelected:要求(“../../static/images/sign/color_black_selected.png”),

redImg:require(“../../static/images/sign/color_red.png”),

redImgSelected:要求(“../../static/images/sign/color_red_selected.png”),

canvasName:'手写',

ctx:“”,

canvasWidth:0,

canvasHeight:0,

透明:1,//透明

selectColor:“黑色”,

线条颜色:“#1A1A1A”,//颜色

LineSize:1.5,//注释倍数

LineMin:0.5,//最小笔划半径

LineMax:4,//最大笔划半径

压力:1,//默认压力

平滑度:60,//平滑度,使用距离60来计算速度

当前点:{},

CurrentLine:[],//当前行

FirstTouch:true,//第一个触发器

半径:1,//绘制圆的半径

剪切区域:{

顶部:0,

右:0,

底部:0,

左侧:0

},//裁剪区域

BethelPoint:[],//保存所有直线生成的Bezier点;

最后一点:0,

手写:[],//手写

当前手写:{},//当前手写