记uni-app移动端签名图片竖版转横版

前景提示:公司uni-app移动端项目流程中有签名环节,形式是整个页面在手机横版显示,完成后转成base64图片保存

页面be like👇

问题:因为是手机横版签名,但是相对视觉还是竖着的,所以最后生成的签名图片是竖着保存的

be like👇

解决思路:再加一个横版canvas隐藏,签名生成图片后,用生成的图片在横版canvas上绘制一遍再生成签名图片

html 复制代码
<canvas :disable-scroll="true" :style="{width: h +'px',height: w +'px'}" canvas-id="tranCacnvs"></canvas>
js 复制代码
// canvas签名转为图片链接
uni.canvasToTempFilePath({
    canvasId: 'handWriting',
    fileType: 'png',
    quality: 1, //图片质量
    success(res) {
        const ctx = uni.createCanvasContext('tranCacnvs', this);
        ctx.translate(h / 2, w / 2); // 修改原点坐标(这里是以中心为坐标原点)
        ctx.rotate((-90 * Math.PI) / 180); // 逆时针旋转90度
        ctx.translate(-w / 2, -h / 2); // 修改原点坐标(这里是已左上角为坐标原点)
        ctx.drawImage(res.tempFilePath, 0, 0, w, h)
        ctx.draw();					
        uni.canvasToTempFilePath({
            canvasId: 'tranCacnvs',
            fileType: 'png',
            quality: 1, //图片质量
            success(data) {
                // 这里返回的data.tempFilePath就是横版的签名图片啦
            }
         })
}})

注意点:旋转的中心点和绘制的起点要注意,我这边是操作前都重置了成我习惯的中心点和原始点了,也可以用其他的逻辑,比如修改图片绘制的参数等

相关推荐
996幸存者3 小时前
下拉、上拉选择器 支持搜索、删除、自定义选择内容、任意对象字段映射
微信小程序·uni-app
anyup6 小时前
🔥 uView Pro 全新升级来啦!一行配置,解锁 uView Pro 全局 TS 类型提示与校验
前端·vue.js·uni-app
Ankkaya6 小时前
开发小结(08.11-08.16)
前端·uni-app
源码哥_博纳软云7 小时前
JAVA国际版多商户运营版商城系统源码多商户社交电商系统源码支持Android+IOS+H5
android·java·ios·微信·微信小程序·小程序·uni-app
Burt17 小时前
#🎉 unibest 3.11了!快来看看新增了啥~
微信小程序·uni-app
2501_9151063219 小时前
iOS混淆工具实战 金融支付类 App 的安全防护与合规落地
android·ios·小程序·https·uni-app·iphone·webview
TellMeha1 天前
uniapp打包app关于获取本机相机、相册、麦克风等权限问题(ios第一次安装权限列表里没有对应权限问题)
ios·uni-app
zheshiyangyang1 天前
uni-app学习【pages】
前端·学习·uni-app
小周同学:2 天前
【UniApp打包鸿蒙APP全流程】如何配置并添加UniApp API所需的鸿蒙系统权限
华为·uni-app·harmonyos
初遇你时动了情3 天前
uniapp vue3 ts自定义底部 tabbar菜单
前端·javascript·uni-app