uniapp小程序利用canvas生成卡片保存手机

1.创建canvas
			  <canvas  canvas-id="canvas-id"></canvas>
2.定义宽高
  canvas {
	   width: 600rpx;
	   height: 900rpx;
 }
3.计算屏幕比例(以750为例)
	const windowWidth = 750;
	const x= wx.getSystemInfoSync().windowWidth / windowWidth;
	const canvasWidth = 600 * x;
4. 封装获取图片方法
  	function getImageInfo(src) {//注意网络图片要在downloadFile合法域名配置域名
	    return new Promise(function(resolve, reject) {
	        wx.getImageInfo({
	            src,
	            success: resolve,
	            fail: reject
	        });
	    });
	}
5.创建画布
	onReady() {
		const ctx = wx.createCanvasContext('canvas-id');//创建canvas上下文
		Promise.all([getImageInfo(imgUrl)]).then(res=> {//获取图片的本地路径,支持获取多张
				ctx.drawImage(//先画第一张图片
							res[0],//图片链接
							20 * x,//离左边的距离
							20 * x,//离上面的距离
							560 * x,//宽度
							560 * x//高度
				);
				ctx.stroke();//每完成一次操作注意保存上下文
				ctx.fillText(//再写一段文字
				   str,
				   20 * x,
				   640 * x
				  );
				  ctx.stroke();
				  ctx.draw();//保存图片
		}}

在这里插入图片描述

插入二维码
uniapp推荐
链接: [https://github.com/q310550690/uni-app-qrcode](https://github.com/q310550690/uni-app-qrcode)
可以生产带logo的二维码
import tkiQrcode from '../../components/qrcode.vue';
components: {			
	tkiQrcode
},
<tki-qrcode
	cid="qrcode1" :showLoading='false' :icon="icon" ref="qrcode" :val="val" :size="size" :unit="unit"  :iconSize="iconsize" :lv="lv" :onval="onval" :loadMake="loadMake" :usingComponents="true" @result="qrR"
></tki-qrcode>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值