uniapp实现手写签名

本文介绍了如何在uni-app中实现手写签名功能,包括横屏显示、清空、撤销和保存操作。核心代码涉及撤销功能,并提供了完整代码示例,可直接用于项目中。参考了uni-app的canvas绘图API和相关教程。
摘要由CSDN通过智能技术生成

1.主要功能有横屏展示签名、清空、撤销、保存、判断是否有签

上代码!!!

撤销操作的核心代码

// 每次触摸开始,调用uniapp内置的uni.canvasGetImageData将当前画布进行保存
			uni.canvasGetImageData(
				{
					canvasId: 'mycanvas',
					x: 0,
					y: 0,
					width: this.screenWidth,
					height: this.screenHeight,
					success: (res) => {
						// console.log(res.data instanceof Uint8ClampedArray); // true
                        // 将返回的data存在栈中,后续用来清除
						this.paths.push(res.data);
					},
				},
                // *-*-*-*-*-*-此处必须加this-*-*-*-*-*-*
				this,
			);
 // 回退的操作其实就是将之前存在栈中的绘画路径删除最后一项
				const imgData = this.paths.pop();
                //删除之后执行uni.canvasPutImageData重新绘制canvas
				uni.canvasPutImageData(
					{
						canvasId: 'mycanvas',
						x: 0,
						y: 0,
						width: this.screenWidth,
						height: this.screenHeight,
						data: imgData,
						success: (res) => {
                            // 每后退一步,将存起来的点删除最后一个
							this.tempPoint.pop();
						},
					},
                    // *-*-*-*-*-*-此处必须加this-*-*-*-*-*-*
					this,
				);

在pages.json中添加以下配置,禁止手机横屏旋转

"pageOrientation": "portrait"

 

贴上完整版代码,可直接使用,具体api参数参考uni.canvasGetImageData(OBJECT,this) | uni-app官网

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值