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

 更新时间:2019年07月16日 10:22:02   作者:xhk碎语  
这篇文章主要为大家详细介绍了微信小程序实现张图片合成为一张并下载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

微信小程序海报

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) {

   }
  });
  }
 })
 },
 
})

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

相关文章

  • 微信小程序动态设置导航栏标题的实现步骤

    微信小程序动态设置导航栏标题的实现步骤

    实际开发中很多时候我们需要通过上个页面传过来的值动态的更改标题栏文字,下面这篇文章主要给大家介绍了关于微信小程序动态设置导航栏标题的实现步骤,需要的朋友可以参考下
    2023-02-02
  • JavaScript实现cookie的写入、读取、删除功能

    JavaScript实现cookie的写入、读取、删除功能

    cookie 是存在有效期的,在默认情况下,一个 cookie 的生命周期就是在浏览器关闭的时候结束,本文给大家介绍关于javascript对于cookie的简单操作,比如对于cookie的写入和删除,代码简单易懂,需要的朋友参考下
    2015-11-11
  • es6中的import导入模块 和 export导出模块详解

    es6中的import导入模块 和 export导出模块详解

    require 是 CommonJS 模块系统中用于导入模块的关键字,采用同步加载方式;而 import 和 export 是 ES6 模块系统中用于导入和导出模块的关键字,采用静态加载方式,并且支持异步加载,这篇文章主要介绍了es6中的import导入模块 和 export导出模块,需要的朋友可以参考下
    2023-11-11
  • uni-app实现点赞评论功能

    uni-app实现点赞评论功能

    这篇文章主要介绍了uni-app实现点赞评论功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 非阻塞动态加载javascript广告实现代码

    非阻塞动态加载javascript广告实现代码

    非阻塞动态加载javascript广告,需要的朋友可以参考下。
    2010-11-11
  • 微信小程序实现经典window扫雷游戏

    微信小程序实现经典window扫雷游戏

    这篇文章主要为大家详细介绍了微信小程序实现经典window扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 在父页面调用子页面的JS方法

    在父页面调用子页面的JS方法

    这篇文章介绍了在父页面调用子页面的JS方法,有需要的朋友可以参考一下
    2013-09-09
  • JS隐藏号码中间4位代码实例

    JS隐藏号码中间4位代码实例

    这篇文章主要介绍了JS隐藏号码中间4位,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Javascript 引擎工作机制详解

    Javascript 引擎工作机制详解

    我们需要引入几个相关的概念:执行环境栈、全局对象、执行环境、变量对象、活动对象、作用域和作用域链等,这些概念正是JS引擎工作的核心组件。这篇文章的目的不是孤立的为你讲解每一个概念需要的朋友可以参考下
    2016-11-11
  • 上传图片预览JS脚本 Input file图片预览的实现示例

    上传图片预览JS脚本 Input file图片预览的实现示例

    需要一个用户上传头像预览的功能,因此写了一段上传图片预览JS脚本,Input file图片预览的实现,需要的朋友可以看看
    2014-10-10

最新评论