微信小程序实现张图片合成为一张并下载


Posted in Javascript onJuly 16, 2019

本文实例为大家分享了微信小程序实现张图片合成为一张并下载的具体代码,供大家参考,具体内容如下

微信小程序海报

Page({

 /**
 * 页面的初始数据
 */
 data: {
 imgUrl: "项目中图片地址", //图片链接
 img: '' // 合成后图片路径
 },

 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 let that = this;
 wx.downloadFile({
  url: '线上图片地址',
  success(res) {
  // 绘制背景海报到canvas
  var postersize = that.setCanvasSize(750);//动态设置画布大小
  const ctx = wx.createCanvasContext('shareCanvas')
  ctx.drawImage(that.data.imgUrl, 0, 0, postersize.w, postersize.h)

  var re = wx.getSystemInfoSync();
  var scale = 750 / 180;
  var width = re.windowWidth / scale;
  var height = width
  var leftscale = 750 / 480; // 180为left
  var left = re.windowWidth / leftscale;
  var topscale = 750 / 880; // 180为top
  var top = re.windowWidth / topscale;
  ctx.drawImage(res.tempFilePath, left, top, width, height)
  ctx.draw()

  setTimeout(() => {
   // code_url = this.canvasToTempImage(); 
   //获取临时缓存合成照片路径,存入data中
   wx.canvasToTempFilePath({
   canvasId: 'shareCanvas',
   success: function (res) {
    var tempFilePath = res.tempFilePath;
    that.setData({
    img: tempFilePath
    })
    console.log(tempFilePath)
   },
   fail: function (res) {
    console.log(res);
   }
   });
  }, 1000);

  }
 })


 
 },

 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {
 
 },

 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {
 
 },

 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {
 
 },

 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {
 
 },

 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {
 
 },

 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {
 
 },

 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {
 
 },
 //适配不同屏幕大小的canvas
 setCanvasSize: function (width) {
 var size = {};
 try {
  var res = wx.getSystemInfoSync();
  var scale = 750 / width;//不同屏幕下canvas的适配比例;设计稿是750宽
  // var scale = 1
  var width = res.windowWidth / scale;
  var height = res.windowHeight / scale;;
  size.w = width;
  size.h = height;
 } catch (e) {
  // Do something when catch error
  console.log("获取设备信息失败" + e);
 }
 return size;
 },
 //点击图片进行预览,长按保存分享图片
 previewImg: function (e) {
 var img = this.data.img;
 let _this = this;
 //保存二维码到相册

 wx.saveImageToPhotosAlbum({
  filePath: img,
  success: function (res) {
  wx.showModal({
   content: '保存成功',
   confirmText: '确认',
   showCancel: false,
   success: function (res) {

   }
  });
  },
  fail: function (res) {
  wx.showModal({
   content: '保存失败',
   confirmText: '确认',
   showCancel: false,
   success: function (res) {

   }
  });
  }
 })
 },
 
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
json格式化/压缩工具 Chrome插件扩展版
May 25 Javascript
基于jQuery的投票系统显示结果插件
Aug 12 Javascript
js动态给table添加/删除tr的方法
Aug 02 Javascript
Jquery实现搜索框提示功能示例代码
Aug 13 Javascript
javascript字母大小写转换的4个函数详解
May 09 Javascript
js实现发送验证码后的倒计时功能
May 28 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
vue.js 使用axios实现下载功能的示例
Mar 05 Javascript
vue filter 完美时间日期格式的代码
Aug 14 Javascript
jQuery实现视频展示效果
May 30 jQuery
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
Jun 01 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 #jQuery
JS实现的排列组合算法示例
Jul 16 #Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 #Javascript
详解微信小程序支付流程与梳理
Jul 16 #Javascript
如何在项目中使用log4.js的方法步骤
Jul 16 #Javascript
JAVA面试题 static关键字详解
Jul 16 #Javascript
微信小程序实现下拉框功能
Jul 16 #Javascript
You might like
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
Firefox div高度自适应
2009/04/28 Javascript
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
幼儿园园长岗位职责
2013/11/26 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
小学生安全演讲稿
2014/04/25 职场文书
促销活动总结报告
2014/04/26 职场文书
活动总结书
2014/05/08 职场文书
节能标语大全
2014/06/21 职场文书
前台岗位职责
2015/02/13 职场文书
大学生个人简历自我评价
2015/03/11 职场文书