uniapp开发微信小程序生成二维码海报

这篇具有很好参考价值的文章主要介绍了uniapp开发微信小程序生成二维码海报。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<template>
<view>
<button @click="open"></button>
<view class="canvasPop" v-if="canvasPopBool" style="z-index: 9999999;">
//关闭按钮
			<uni-icons class="close" type="close" size="30" @click="canvasPopBool=false"></uni-icons>
//uniapp自带的组件  canvas-id是组件的标识符  画布组件
			<canvas canvas-id="firstCanvas" id="firstCanvas"></canvas>
			<view class="btn" @click="saveCanvasFn">保存图片</view>
		</view>
</view>
</template>
<script>
export default {
data():{
return{
canvasPopBool:false
}
},
methods:{
open:{
this.canvasPopBool=true
const obj={
					imgUrl: this.baseUrl + this.bannerList[0].fileUrl, //内容图片地址
					title: this.routeItem.name,//内容 标题
					str: 'money',
					price:this.routeItem.consumeAmount, //金额
				}
this.poster(obj)

},
//生成海报方法
poster(obj){
let context = uni.createCanvasContext('firstCanvas');  //获取到画布组件的唯一标识符ID
//下面两行代码获取到背景图片地址(后端返给存在了本地存储)		
let allImg = uni.getStorageSync('allImg');  
let newUrl = allImg.pic41;
//获取到到内容图片地址
		let newUrlTwo = obj.imgUrl;
		uni.showLoading({
			title: '努力加载中...',
			mask: true
		});
		uni.downloadFile({  //下载上传方法
			url: newUrl, //背景图片地址
			success(res) {
				uni.hideLoading(); //关闭uni.showLoading
//drawImage绘制图像到画布 第一个参数图片地址 0第一个是距离X轴的距离 0第二个是距离Y轴距离 275是在目标画布上绘制图像的宽度 482是在目标画布上绘制图像的高度
				context.drawImage(res.tempFilePath, 0, 0, 275, 482);

				context.font = "18px Arial";
//文字颜色
				context.fillStyle = '#333';
//测量文本尺寸信息,目前仅返回文本宽度
				const textWidth = context.measureText(obj.title).width;
				if (textWidth >= 160) {
					for (let i = 0; i < 4; i++) {
						const dataOne = obj.title.substr(i * 8, 8);
						const dataThree = 360 + (i * 20);
//在画布上绘制被填充的文本 dataOne是填充的内容  21是距离X轴的位置  dataThree距离Y轴的位置
						context.fillText(dataOne, 21, dataThree);
					}
				} else {
					context.fillText(obj.title, 21, 360);
				}
				context.font = "18px Arial";
				context.fillStyle = '#ff3400';
				if (obj.str == 'money') {
					context.fillText('¥' + obj.price, 21, 450);
				} else if (obj.str == 'jifen') {
					context.fillText(obj.price + '积分', 21, 450);
				}
				uni.downloadFile({
					url: newUrlTwo,  //内容图片
					success(res2) {
						context.drawImage(res2.tempFilePath, 21, 100, 233, 233);
						context.draw(); //开始绘制
					}
				});
			}
		});
}
//保存图片
saveCanvasFn(){
//把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。在自定义组件下,第二个参数传入自定义组件实例,以操作组件内 <canvas> 组件。
uni.canvasToTempFilePath({
					canvasId:'firstCanvas',
					success(res){
//保存图片到相处
						uni.saveImageToPhotosAlbum({
							filePath:res.tempFilePath,
							success(){
								this.canvasPopBool = false;
								uni.showToast({
									title: '图片保存成功',
									icon: 'none'
								});
							}
						});
					}
				})}
}
}
</script>
<style>
	// 生成海报盒子样式  
	.canvasPop {
		width: 100%;
		height: 100%;
		background-color: rgba($color: #000, $alpha: 0.3);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: absolute;
		left: 0;
		top: 0;

		.close {
			position: absolute;
			right: 30rpx;
			top: 30rpx;
		}

		#firstCanvas {
			width: 275px;
			height: 482px;
		}

		.btn {
			height: 60rpx;
			background-color: blue;
			border-radius: 30rpx;
			margin-top: 30rpx;
			padding: 0 30rpx;
			color: white;
			line-height: 60rpx;
		}

	}
</style>

模板:uniapp 二维码插入海报,uni-app,微信小程序,小程序文章来源地址https://www.toymoban.com/news/detail-653984.html

到了这里,关于uniapp开发微信小程序生成二维码海报的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在H5、微信小程序中使用canvas绘制二维码、分享海报

    提示:绘制二维码的插件有很多,有些仅支持H5,有些只适用微信小程序,故读者在使用二维码插件前需要先查看插件官方文档,查看其支持的环境 H5中安装qrious插件 引入qrious canvas模板 初始化canvas 二维码绘制并渲染 微信小程序中安装weapp-qrcode插件 引入weapp-qrcode canvas模板

    2024年02月14日
    浏览(36)
  • uniapp(微信小程序/支付宝小程序) - 最新解决canavs绘制海报、二维码图片等不显示问题,在uniapp小程序开发中使用canavs制作base64图片在真机运行时空白不显示(详细解决方法)

    在uniapp微信小程序 | uniapp支付宝小程序中,详解canavs技术绘制图像后在真实手机上运行不显示的问题,解决uniapp安卓苹果ios运行小程序后二维码/海报无法加载和展示,完美解决兼容问题、图片太大画不出来、加载失败等。支持保存到相册中或长按保存。 很多教程都无效,本

    2024年04月25日
    浏览(38)
  • 生成微信小程序发布上线后的二维码 、获取微信小程序二维码、微信小程序二维码如何生成?

    情景: 1、在微信小程序审核完成,发布到线上后,想通过扫描小程序二维码进入小程序 2、可分享二维码出去,通过二维码扫码进入小程序 方法: 1、进入微信小程序的后台配置。链接:微信公众平台。(如图一) 2、进入 “设置” -- “ 基本设置” -- “小程序码及线下物

    2024年02月12日
    浏览(37)
  • uniapp小程序---二维码(生成、保存)

    JS库介绍 uniapp中生成二维码这里推荐使用 uQRCode ,uQRCode是一款基于 Javascript环境 开发的二维码生成插件, 适用所有Javascript运行环境 的前端应用和Node.js应用。 同时uQRCode可 扩展性高 ,它支持 自定义渲染二维码 ,可通过uQRCode API得到二维码绘制关键信息后,使用canvas、svg或

    2024年02月08日
    浏览(31)
  • 如何生成微信小程序二维码,小程序内页二维码

    你自己得有个微信公众号,只需要知道小程序的名字就可以了 生成小程序二维码 第一步编辑素材 第二步搜索小程序名字,然后回车,下一步 第三步选小程序码 小程序内页二维码 第一步编辑素材 第二步搜索小程序名字,然后回车,下一步 第三步点击‘获取更多路径’ 第四

    2024年02月15日
    浏览(37)
  • 微信小程序怎样生成体验版二维码?微信小程序怎么转化为二维码?

    方法:在微信开发者工具界面,右上角,点击上传,如果提示成功,说明已经上传成功。     网址: 微信公众平台 微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。 https://mp.weixin.qq.com/ 在微信公众号平台登录,选择需要生成二维码的小程序

    2024年02月10日
    浏览(57)
  • uniapp 小程序生成二维码并转为图片

    1、vue文件 2、weapp-qrcode.js文件

    2024年02月07日
    浏览(33)
  • uniapp小程序生成二维码+手机保存到本地

    1. 准备工作(具体参考哪位博主的忘了就没加锁参考的地方了) 1. 下载好所需文件(uqrCode.js)放在文末只要复制文末代码文件命名可自定义 2. 开始撸码 解决战斗 下面代码内容属于 开头所说文件

    2024年02月11日
    浏览(28)
  • 【生成带参数小程序二维码,uniapp端接收参数】

    小程序有普通码和小程序码,普通二维码就是我们常见的四四方方是二维码,小程序二维码就是圆乎乎的那种,两种码都可以扫码进入微信,但是小程序码可见度更加高,官方推荐使用,下面讲下如何使用微信官方的接口生成两种二维码,官方链接如下(其实官网说的很详细了

    2024年02月10日
    浏览(33)
  • 微信小程序 — 生成二维码功能

    微信小程序实现生成二维码功能。需要用到canvas组件,设置 type为2d.  需要使用js包 weapp-qrcode-canvas-2d https://github.com/DoctorWei/weapp-qrcode-canvas-2d weapp-qrcode-canvas-2d 是使用新版canvas-2d接口在微信小程序中生成二维码(外部二维码)的js包。canvas 2d 接口支持同层渲染且性能更佳,可大

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包