小程序多张图片合成海报分享功能

article/2025/8/21 23:21:10

项目有个需求:代言人模块分享出去时。需要合成几张图片作为一张海报分享出去

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需要用到canvas组件,组件的部分合成图需要下载下来,所以后端要配置好下载合法域名如下图,配置ok后开发者工具会看到合法域名
在这里插入图片描述
代码逻辑
1、点击分享弹框出现,点击生成海报调用图片下载api,保存合成海报图(canvas合成的图是用tempFilePath路径)

 saveImage: function() {wx.showLoading({title: '海报生成中...'});let self = this;const ctx = wx.createCanvasContext('myCanvas');var CompnayName = self.data.spokesmanSet.name;var userName = self.data.userName;ctx.setFillStyle('white')ctx.fillRect(0, 0, 276, 444)wx.downloadFile({url: self.data.spokesmanSet.imageUrlFull, //海报success: function(res) {let post = res.tempFilePathwx.downloadFile({url: self.data.headImageUrlFull, //个人logosuccess: function(res) {let logo = res.tempFilePathwx.downloadFile({url: self.data.memberSpokesman.spokesImageUrlFull, //二维码success: function(res) {let code = res.tempFilePathwx.hideLoading();ctx.drawImage(post, 0, 0, 276, 155);ctx.fillStyle = "#fff";ctx.fillRect(117.5, 136, 41, 41); ctx.drawImage(logo, 119.5, 138, 37, 37);ctx.drawImage(code, 65, 240, 134, 120);ctx.setFontSize(12)ctx.setFillStyle('#333');ctx.fillText(userName, (276 - ctx.measureText(userName).width) / 2, 195)ctx.setFontSize(12)ctx.setFillStyle('#fb5e2c');ctx.fillText(CompnayName, (276 - ctx.measureText(CompnayName+' 代言人').width) / 2, 215)//色块位置var left = ctx.measureText(CompnayName + ' ').width + (276 - ctx.measureText(CompnayName +' 代言人').width) / 2ctx.fillStyle = "#fb5e2c";ctx.fillRect(left, 204, 40, 13); //代言人文字位置ctx.setFontSize(12)ctx.setFillStyle('#fff');ctx.fillText('代言人',left+2, 215)//长按识别打开小程序文字位置ctx.setFontSize(12)ctx.setFillStyle('#333');ctx.fillText('长按识别打开小程序', (276 - ctx.measureText('长按识别打开小程序').width) / 2, 400)ctx.draw(false, function(e) {wx.canvasToTempFilePath({x: 0,y: 0,width: 375,height: 417,quality: 1,canvasId: 'myCanvas',success: function(respon) {ctx.setFillStyle('white')self.setData({logo: respon.tempFilePath,posterShow: true})},fail: function(res) {wx.showToast({title: 'canvasToTempFilePath---fail',icon: 'none'})}});});},fail: function(res) {wx.showToast({title: '下载失败,请重新生成',icon: 'none'})}})},fail: function(res) {wx.showToast({title: '头像下载失败,请重新生成',icon: 'none'})}});},fail: function(res) {wx.showToast({title: '下载失败,请重新生成',icon: 'none'})}})},
2、点击保存到相册时做授权处理save: function() {var _this = this;wx.getSetting({success(res) {console.log(res)if (res.authSetting['scope.writePhotosAlbum'] != undefined && res.authSetting['scope.writePhotosAlbum'] != true) {wx.showModal({title: '提示',content: '您未授权保存到相册,确认授权?',success: function (res) {if (res.confirm) {wx.openSetting({success: function (res) {if (res.authSetting["scope.writePhotosAlbum"] == true) {} else {}}})}}})} else {wx.saveImageToPhotosAlbum({filePath: _this.data.logo,success(res) {console.log('保存成功---ok')wx.showToast({title: '保存成功',icon: 'none'})}})}},fail: function(e) {console.log(999)}});},

注意点:canvas海报合成的单位是px,小程序用的是rpx


http://chatgpt.dhexx.cn/article/fYXkeRJg.shtml

相关文章

php生成推广二维码海报、合成图片demo

php生成推广二维码海报、合成图片 1、海报背景图。背景图一般存服务器,程序本地读取; 2、推广二维码。可以是二维码图片链接,也可以是字符串图像流。如果自己生成二维码,详见phpqrcode官网,地址:https://sourceforge.net/projects/phpqrcode。 3、开启PHP的GD扩展 inde…

微信小程序海报生成图片合成工具类

背景 我目前参与小程序的产品研发,为了方便产品的转发和推广,会对课提供生成海报转发或者分享的功能,前期海报合成这个功能是由项目组的老同事负责开发,后来小程序海报这块功能需要单独做一个功能用于专门根据不同的课程类型来生…

平面设计新手如何用PS制作出一张合成海报

本文由:“学设计上兔课网”原创,图片素材来自网络,仅供学习分享 平面设计新手如何用PS制作出一张合成海报?本期教程给大家制作一张关于VR战争合成海报,从合成海报来讲我们要做到以下几点: 创意部分:如何通过创意表现产品功能或其他想要表现的点, 有了创意找到合适的…

小程序画布合成二维码海报图,并保存到相册

小程序画布合成二维码海报图,并保存到相册 实现效果如下图: 步骤分析 1,先获取需要合成的海报和二维码。 2,获取图片的本地路径,如果图片不是网络连接则不需要此操作。 3,通过手机型号,根据…

拿来就用的Java海报生成器ImageCombiner(一)

背景 如果您是UI美工大师或者PS大牛,那本文一定不适合你;如果当您需要自己做一张海报时,可以立马有小伙伴帮您实现,那本文大概率也不适合你。但是,如果你跟我一样,遇上到以下场景,最近公司上了不…

ps海报合成教程_怎样合成创意环保海报图片的PS教程

效果图合成的非常不错,作者用虚实结合的方法来表现主题。创作的时候先构思好想要的画面,然后搜集相关素材(没有的素材可以想办法自己拍摄),然后按自己思路溶图,润色即可。最终效果 一、拖入原素材,素材大家可以在网络上…

如何制作动态海报?教你一招在线合成GIF海报

相信大家在网上都见过静态海报吧!那么,当我们想要将静态的海报制作成炫目的动态海报来吸引大众的目光的时候,应该如何在线制作GIF动态海报呢?这时候,大家就可以使用**gif制作**工具,上传图片一键就可以在线…

设计素材|这些创意海报合成,你会发现创意比技术更重要!

是不是各位也同样收到过这样的话:“这次的海报还是缺点创意啊”、“再改改,润润色”; 想创意熬了三天,海报改了无数版,结果领导还是不满意。 随着设计行业竞争的日益激烈 公司对设计师的水平要求越来越高 如果你是…

怎样合成gif海报?手把手教你一键制作动态海报

相信不少新媒体小编们,在工作中会遇到需要自己设计海报的情况。如果是设计一般的静态海报使用一些修图软件就可以制作,但是当我们需要将这些静态海报变成gif动图海报的时候,应该如何制作gif动态图片海报呢?接下来,小编…

PHP使用Grafika合成图片,生成海报图

需求背景: 在小程序上生成海报图,但在保存图片时,只能保存其中的小程序码图片,保存下来的图片过于单调,且无法确认该图片的作用性,所以需要调整为保存一整张海报图。 海报效果图: 需求分析&a…

合成海报的小程序插件-票圈海报

概述 票圈海报 是一个用于生成海报的小程序插件,通过灵活简单的配置(JSON)就可以生成精美的分享海报,适用于小程序的朋友圈分享等营销裂变场景。 可以绘制文字、图片、线条、色块到海报画布,支持设置宽高、透明度、层级甚至圆角等属性。 亮…

PHP 海报二维码合成

组合参数方法: /*** [user_qrcode 参数组合]* param [type] $bgImg [背景图]* param [type] $codeImg [二维码]* param string $name [名称]* param string $remask [备注]* param string $content [描述]* param integer $key [生成二维码名称…

vue两张图片合成一张(海报二维码合成工具)

公司要经常换海报&#xff0c;一个海报要不同的二维码&#xff0c;做一个工具解决一下。 效果图如下 二维码图片的位置和海报大小可以随意调整 直接放代码&#xff1a; <template><div class"all-tool"><div :style"bgStyle" class"…

【Web技术】961- 3分钟搞定海报合成

背景 在推广业务中&#xff0c;常常会遇到合成带二维码海报分享功能&#xff0c;并且为了推广力度&#xff0c;需要同时在APP、WEB、小程序都有此功能加大曝光&#xff0c;各端都需要单独编写&#xff0c;复用能力差&#xff0c;效率低。本身合成海报业务并无难度&#xff0c;在…

如何合成动态海报?手把手教你一键在线合成gif海报

相信大家在平时都见过那种gif动态海报图片吧&#xff01;是不是觉得只有专业的设计师才能制作呢&#xff1f;其实&#xff0c;这种gif动态海报制作起来非常的简单&#xff0c;只需要准备几张图片尺寸相同图文内容不同的图片&#xff0c;再使用**在线动画制作**工具&#xff0c;…

波束形成MATLAB代码

常规的波束形成方法 clc; clear; close all;fs 1000; c 150; N 128; f 100; lambda c / f; d 0.5 * lambda; theta 1: 1: 180; t (0:1:1000-1) / fs;A zeros(1, length(theta)); A(5) 5; A(20) 4; A(25) 5; A(50) 3; % 在这四个方向上有目标 S zeros(length(th…

相移波束形成算法的MATLAB仿真

仿真结果如下&#xff1a; 部分核心程序如下所示&#xff1a; %************************************************************************** % 相移波束形成算法 %************************************************************************** %…

【波束形成】MMSE波束形成,自适应MMSE波束形成以及自适应MBER波束形成

1.软件版本 matlab2013b 2.本算法理论知识 3.部分源码 clc; clear; close all; warning off;SNR_set [0:1:12]; BER 1; nRx 10; nTx 10; frame_length 1000; Bers []; %论文table 2 alpha [0,10,-15,30,-45,50,60,-5…

基于FPGA的波束形成verilog开发

目录 一、理论基础 二、核心程序 三、仿真测试结果 一、理论基础 根据原理可知&#xff0c;整个波束形成的基本结构框图如下图所示&#xff1a; 这里&#xff0c;我们使用的加权函数为&#xff1a; 这个模块&#xff0c;相当于上述结构的&#xff1a; 二、核心程序 timesca…

鲁棒自适应波束形成

鲁棒自适应波束形成 本文是我关于Microphone Arrays Signal Processing Techniques and Applications第五章的整理。 自适应形成其方向性的波束形成器称为自适应波束形成器。它同时进行波束控制和零位控制。然而&#xff0c;在大多数声波束形成器中&#xff0c;只有在目标DOA是…