微信小程序–上传图片加水印

wxml

<canvas class='canvas' canvas-id="firstCanvas"></canvas>

css

.canvas{border: 2rpx solid pink;background: pink;width: 100%;height: 100%;
}

js

 //选择图片待上传ChooseImage() {var _this = thiswx.chooseImage({count: 1, //默认9sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有sourceType: ['album'], //从相册选择success: (res) => {// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片var tempFilePaths = res.tempFilePaths;this.setData({uploadimgcount: tempFilePaths.length,alreadyUploadSuccessCount: 0});for (let item of tempFilePaths) {console.log(item)let file = {reportFileName: "",localUrl: item,reportFile: ""}this.uploadimg(item);}if (this.data.imgList.length != 0) {this.setData({imgList: this.data.imgList.concat(res.tempFilePaths)})} else {this.setData({imgList: res.tempFilePaths})}_this.watermark();}});},//加水印watermark() {let _this = this//获取图片详细信息for (let item of this.data.imgList) {wx.getImageInfo({src: item,success: (ress) => {console.log("获取图片详情", item)console.log("获取详情成功", ress)let date = util.formatTime(new Date());let ctx = wx.createCanvasContext('firstCanvas')_this.setData({canvasHeight: ress.height,canvasWidth: ress.width})//将图片src放到cancas内,宽高为图片大小ctx.drawImage(item, 0, 0, 56, 56)//将声明的时间放入canvasctx.setFontSize(30) //注意:设置文字大小必须放在填充文字之前,否则不生效ctx.setFillStyle('grey')ctx.fillText("运联快车", 0, 30)ctx.strokeText("运联快车", 0, 30)ctx.draw(false, function () {wx.canvasToTempFilePath({canvasId: 'firstCanvas',success: (res) => {console.log(res.tempFilePath);_this.uploadimg(res.tempFilePath);},fail: (e) => {console.log(e)}})})}})}},//上传图片uploadimg(localUrl) {wx.showLoading({title: "正在上传图片",mask: true})util.putFile(localUrl).then(res => {if (res.statusCode == 200) {wx.hideLoading();let count = this.data.alreadyUploadSuccessCount;count = count + 1;this.setData({alreadyUploadSuccessCount: count});if (count == this.data.uploadimgcount) {wx.showToast({title: '图片上传成功',icon: 'success',duration: 1000})}if (JSON.parse(res.data).code == 200) {// console.log(111111111,JSON.parse(res.data).data)let uploadObj = JSON.parse(res.data).data;let arr = []arr.push(uploadObj)this.setData({uploadList: this.data.uploadList.concat(arr)})wx.hideLoading();// console.log("uploadList",this.data.uploadList)}}})},

微信小程序--上传图片加水印相关推荐

  1. 微信小程序背景加水印 简单版

    小程序页面增加水印 效果 因为所有页面都要加水印,所以肯定是要用自定义组件实现. 思考路程 第一种 最开始考虑的是canvas生成图片,转换成base64做一张背景图,然后才了解到水印不能直接在元素上 ...

  2. 微信小程序拍照加水印

    根据上次 1.wxml代码: 因为拍照要到指定位置显示,这里的canvas我想隐藏,就用了css:position:fixed;left: 10000rpx.之前尝试过hidden='true'或者d ...

  3. 微信小程序怎么取mysql_微信小程序如何加载数据库真实数据?

    微信小程序要加载网站数据库里面的真实数据,有一个硬性的要求,就是你的网站域名必须是https协议才行,要不然你第一步服务器域名配置你都通过不了,小编我也是前不久申请的https://www.100tx ...

  4. 微信小程序分页加载列表

    微信小程序分页加载列表: 项目开发时很多页面都需要用到分页加载列表,为了方便,自己封装了分页加载列表组件,下拉刷新列表,滑动至底部,加载更多 组件界面: 可以扫码查看是否符合自己的需求 wxml: & ...

  5. 微信小程序上传图片 预览 删除

    微信小程序上传图片 预览 删除 ①.wxml<view class='footerEditOne'><view wx:for="{{src}}" wx:key=' ...

  6. 微信小程序上传图片至服务器Springboot接收格式的问题

    微信小程序上传图片至服务器Springboot 需求:通过微信小程序上传图片到服务器,保存至服务器. 实现 Wxml <button bindtap="choose"> ...

  7. 微信小程序分包加载,分包加载的优势

    微信小程序分包加载: 有时候我们的小程序太大,首次打开小程序的时候会比较慢,可以进行分包处理,按照功能的划分,拆分成几个分包,让用户在操作小程序的时候按需下载资源(用户在进入某些页面的时候才去下载相应 ...

  8. 微信小程序,Eror代码包大小为12497kb,上限为 2048 kb,请删除文件后重试?微信小程序分包加载

    微信小程序如何解决预览超过2M的问题?微信小程序分包加载 在微信小程序开发过程中有个问题让人很头疼,就是预览的项目不能超过2M,我们的项目通常都会超过这个大小限制.那到底怎么解决呢?其实官方给出了解决 ...

  9. 微信小程序上传图片到服务器总是失败_微信小程序上传图片过大导致请求失败的解决方法...

    很多时候我们都会碰到小程序上传图片时因为图片过大而导致请求失败,同时出现各种各样的问题,那么今天来给大家写一个微信小程序上传图片过大导致请求失败的完美解决办法. 以云开发小程序图片检测为例,如果图片过 ...

最新文章

  1. 2015.4.10-SQL 高级查询(二)
  2. linux 网络编程 ping,Linux 网络编程基础(4) -- Ping 的C代码实现
  3. 语言时间序列年月日_R语言系列 时间序列分析
  4. postgres循环sql
  5. Redis java API ——Jedis的使用
  6. 《北京作家》·史铁生·维格拉姆
  7. 更新node最新版本方法和 npm install -g n 运行错误
  8. QQ旋风爆缓冲区溢出漏洞
  9. 外部集成 网页制作_外部服务的集成测试
  10. 通知 notification
  11. Python接口自动化-接口基础(一)
  12. [POJ2096] Collecting bugs
  13. Ubuntu设置静态IP/网关
  14. 初识用.NET Remoting来开发分布式应用
  15. poj 1852 Ants
  16. Problem J: 零起点学算法89——程序设计竞赛
  17. 1、植物大战僵尸:修改配置
  18. SQL server 认证考试
  19. 电子加速器原理与应用
  20. FOC——10.11.IR2106半桥预驱电路

热门文章

  1. 好的idea配色方案
  2. Firebird 数据库使用心得
  3. 机器学习《Machine Learning1》----机器学习经典总结:入门必读
  4. 滴滴企业版帮助减少企业开销,两个8%如何算出来?
  5. java生成日志文件_java - 把日志生成到指定目录
  6. 各应用/协议常用端口
  7. java程序员述职_java程序员述职报告
  8. 【2020/07/16修订】概率论与数理统计(电子科技大学) 知识梳理 · 第一版(1到8章 · 度盘)
  9. 电子书——人类进步的电梯
  10. Linux之显示系统相关信息