小程序 canvas合成图片 保存到相册

文章目录

调用

const draw = await eyeCopyFun({
   
	cvs:this.cvs,
	bg:'#FFFFFF',
	canvasId:'poster',
	title:{
   
		title:'20元代金券',
		validity:'2021-04-05'
	},
	content:[
		{
   
			img:{
   
				width: 150,
				url:'https://weixin.hotapp.cn/src/home/img/qrcode_example.png',  // 只能
				type:'url' // base64/url(不能为本地图片)
			}, 
			code:'47387554894'
		},
		{
   
			img:{
   
				width: 150,
				base64:data.data.QRCode,
				type:'base64' 
			}, 
			code:'47387554894'
		},
		
		{
   
			img:{
   
				width: 150,
				base64:data.data.QRCode,
				type:'base64' 
			}, 
			code:'47387554894'
		}
	],
	footer:{
   
		title:'可用商家',
		name:'一屋子薯片韩式大头贴(上虞区店)'
	}
})
const path = await draw.getImg();
// 保存合成图片到相册
const save = await saveImgPhotosAlbum(path)		

// saveImgPhotosAlbum ===> https://blog.csdn.net/weixin_42448623/article/details/112365076

效果

在这里插入图片描述

eyeCopy.js

/**
 * eyeCopy.js
 * 通过合成图片
 */

import {
   removeSavedFile,downloadFile, writeFileBase64} from '@/common/saveImgAlbum.js'

class eyeCopy {
   
    constructor(data = {
   }) {
   
        this.data = data
		this.width = this.data.cvs.w
		this.height = this.data.cvs.h
        this.bg = this.data.bg
		this.ctx = uni.createCanvasContext(this.data.canvasId) 
        this.totalH = 0
		
		// this.draw()
		
		// 绘制图片 网络图片
		// const url = 'https://weixin.hotapp.cn/src/home/img/qrcode_example.png'
		// this.ctx.drawImage(url, (this.width - 150) / 2, 60, 150, 150) // yes
		// const base64 = content[0].img.base64
		// let fileName = new Date().valueOf();
		// const filePath = tt.env.USER_DATA_PATH + '/'+ fileName +'.png'
		// writeFileBase64(filePath,base64).then(async res=>{
   
		// 	console.log('写入成功')<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值