uniapp电子签名盖章实现详解
项目开发中用到了电子签名、签好名的图片需要手动实现横竖屏旋转、并将绘制的签名图片放到pdf转换后的base64的图片上,可以手动拖动签名到合适的位置,最后合成签名和合同图片并导出。和以往一样,先发一下效果图。整理总结不易,如需全部代码,请联系我15098950589(微信同号)。



核心代码如下
//保存图片
saveClick: function() {
var that = this;
if (!this.isDraw) {
uni.showToast({
title: '请先签名',
icon: 'none',
duration: 2000
});
return;
}
uni.canvasToTempFilePath({
canvasId: 'sign',
fileType: 'png',
quality: 1, //图片质量
destWidth: 260,
destHeight: 600,
success: function(res) {
let tempFilePaths = res.tempFilePath;
wx.getImageInfo({ // 获取图片的信息
src: tempFilePaths,
success: (msg) => {
console.log('保存图片', tempFilePaths)
let height = msg.height / 2 //图片的高
let width = msg.width / 2
//开始旋转 旋转方向为顺时针 90 180 270
if (width < height) { // 竖变横 左为正底 旋转后 为下为正底
// this.canvasWidth = height,
// this.canvasHeight = width,
console.log('这张图片 是竖的 要变成横屏的')
//绘制canvas 旋转图片
let canvas = wx.createCanvasContext('camCacnvs');
// 逆时针旋转90度
canvas.translate(height / 2, width / 2)
canvas.rotate(270 * Math.PI / 180)
canvas.drawImage(tempFilePaths, -width / 2, -height /
2, width, height);
canvas.draw(false,
() => { // 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中
// 把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功。
wx.canvasToTempFilePath({
canvasId: 'camCacnvs',
quality: 1, //图片质量
destWidth: msg.width,
destHeight: 120,
success(vas) {
console.log(vas)
// 存储缓存,方便取出
uni.setStorageSync(
'tempFilePath', vas
.tempFilePath);
console.log('保存图片', vas
.tempFilePath)
setTimeout(() => {
uni
.navigateBack({});
}, 100);
// that.uploadImg(vas.tempFilePath);
// wx.saveImageToPhotosAlbum({
// filePath: vas
// .tempFilePath,
// success(res) {
// wx.showToast({
// title: '已保存到相册',
// duration: 2000
// });
// }
// });
}
}) // 在自定义组件下,当前组件实例的this,以操作组件内 canvas 组件
})
}
}
})
}
});
}
uniapp电子签名盖章实现详解的更多相关文章
- uniapp中easycom用法详解
Uniapp中的easycom是一种组件自动注册机制,可以让开发者更加方便地使用和管理组件.下面详细介绍下关于easycom使用方法. 什么是easycom? easycom是Uniapp框架提供的一 ...
- SSL/TLS 原理详解
本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...
- [No0000126]SSL/TLS原理详解与WCF中的WS-Security
SSL/TLS作为一种互联网安全加密技术 1. SSL/TLS概览 1.1 整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下: SSL:(Secure Socket La ...
- Cookie的使用、Cookie详解、HTTP cookies 详解、获取cookie的方法、客户端获取Cookie、深入解析cookie
Cookie是指某些网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我 ...
- HTTPS 详解一:附带最精美详尽的 HTTPS 原理图
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有 ...
- HTTPS详解一
前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识.本文将为大家详细梳理一下 HTTPS ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
随机推荐
- [SDR] GNU Radio 系列教程 —— GNU Radio TX PDU (发送数据包操作)的基础知识(超全)
目录 1 PDU 概述 2 Demo 详解 2.1 Random PDU Generator 2.2 Async CRC32 2.3 Protocol Formatter (Async) 2.4 将 ...
- html2canvas截取专题图(包含地图)
html2canvas截取专题图(包含地图) 问题:html2canvas截取地图时地图空白,报错: Unable to clone WebGL context as it has preserveD ...
- SpringBoot 配置统一API对象返回
1.前言 在实际项目开发中,为了便于前端进行响应处理,需要统一返回类格式.特别是在有多个后端开发人员参与的情况下,如果不规范返回类,每个人按照个人习惯返回数据,前端将面临各式各样的返回数据,难以统一处 ...
- 【C】Re02
一.命令行参数 #include <stdio.h> /** * 运行执行程序的命令携带 一些附加参数,传递给程序执行 * @param argc 命令行参数的个数 * @param ar ...
- Rust项目的代码组织
学习一种编程语言时,常常优先关注在语言的语法和标准库上,希望能够尽快用上新语言来开发,我自己学习新的开发语言时也是这样. 不过,想用一种新的语言去开发实际的项目,或者自己做点小工具的话,除了语言本身之 ...
- 【转载】 Makefile的静态模式%.o : %.c
版权声明:本文为CSDN博主「猪哥-嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/u012351051 ...
- programmers model
Handler模式一直使用MSP,所以在handler模式下处理器会忽略SPSEL位:异常进入及返回机制会更新CONTROL寄存器. 在操作系统的环境中,推荐线程在Thread模式下运行使用PSP,内 ...
- 2021 CCPC 哈尔滨
gym 开场 zsy 签了 J,gjk 签了 B,我读错了 E 的题意,gjk 读对后过了 zsy 读了 K 给我,我记得是模拟赛原题,跟欧拉定理有关,但很难.他俩过了 D I,我大概会了 G 但不会 ...
- Redis相关总结
一.缓存雪崩.缓存穿透 现象:缓存雪崩:大量缓存同时过期.缓存中间件宕机 缓存穿透:访问不存在key.缓存过期解决:缓存雪崩:设置不同过期时间 缓存穿透:不存在key也存入缓存.使用布隆过滤器.使用分 ...
- 代码随想录Day22
77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [ [2,4], [ ...