uniapp 小程序 多张图片生成海报以及下载海报

2024-04-25 13:04

本文主要是介绍uniapp 小程序 多张图片生成海报以及下载海报,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

uniapp 小程序 多张图片生成海报以及下载海报

  1. 上代码
export default {data() {return {unit: 0,imgurl:"", // 海报图片shareimg:"https://eshopfile.zhiyousx.com/2022051811164947691.jpg", //背景图qrcode :"", // 二维码saveTop:80,}},onLoad(option) {let that = thisuni.getSystemInfo({success: (res) => {that.unit = res.screenWidth/750}});},methods:{// 获取二维码getqrcodeImg(){this.$https('GET','xxxx/xxxx/xxxx',).then(res => {if(res.code === 1){// 有现成的可以不用掉接口this.qrcode = res.datathis.genQrFile()}})},genQrFile() {let unit = this.unituni.showLoading()this.saveTop = parseInt(80*unit)var urlQR = this.getNetworkImage(this.qrcode);//二维码。var bg=this.getNetworkImage(this.shareimg);//背景图片转为本地图片let that = this;Promise.all([bg,urlQR]).then(res => {// 创建 canvas 绘图上下文(指定 canvasId)let ctx = uni.createCanvasContext('firstCanvas', this);// 绘制图像到画布  /** * 参数1  所要绘制的图片资源 * 参数2  图像的左上角在目标canvas上 X 轴的位置* 参数3  图像的左上角在目标canvas上 Y 轴的位置* 参数4  在目标画布上绘制图像的宽度,允许对绘制的图像进行缩放* 参数5  在目标画布上绘制图像的高度,允许对绘制的图像进行缩放*/ctx.drawImage(res[0], 0, 0, parseInt(640*unit), parseInt(1140*unit));ctx.beginPath()// 你也可以插入文字// ctx.fillText('textAlign=right', 150, 100)let x = parseInt(117*unit),y= parseInt(483*unit),w=parseInt(220*unit),h=parseInt(225*unit)ctx.arc(w / 2 + x, w / 2 + y, h / 2, 0, Math.PI * 2, false)ctx.clip()// 绘制第二张图片图像到画布ctx.drawImage(res[1], x,y,w, h);ctx.restore()ctx.draw(false, () => {// 把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径uni.canvasToTempFilePath({x: 0,y: 0,width: 375,height: 840,destWidth: 640,destHeight: 1140,canvasId: 'firstCanvas',success: function(res) {// 保存文件路径that.imgurl = res.tempFilePathuni.hideLoading()},fail(e) {uni.hideLoading()}});});})},// 图片转为本地图片getNetworkImage(url) {return new Promise((resolve, reject) => {uni.downloadFile({url,success: (e) => {const p = e.tempFilePathif (p.indexOf('json') > -1) {reject(p)return false}resolve(p)},fail: (r) => {reject(r)}})})},}
}			     
  1. 下载海报
    我的上一篇博客有后半部分图片保存代码!

  2. 搞定! 日常开发代码记录。

这篇关于uniapp 小程序 多张图片生成海报以及下载海报的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934759

相关文章

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma