微信小程序分享朋友圈生成海报

article/2025/11/3 15:18:26

微信小程序实现分享到朋友圈

分享朋友圈现在大家的通用做法就是通过Canvas生成一张图片后进行保存,然后自行转发朋友圈。最近项目有这个需求, 于是就记录一下。(老规矩,我的博客复制粘贴就好使)

如果想要海报上的二维码扫码完直接跳到指定的页面, 那么就需要生成一个带参数的二维码, 你需要看我的另一篇博客:微信小程序生成带参数的二维码以及小程序码

先看一下效果图:

一、先把代码写上去

index.wxml代码:

<view class="container"><image src="{{shareImage}}" class="share-image"></image><canvasdrawer painting="{{painting}}" class="canvasdrawer" bind:getImage="eventGetImage"/><button bind:tap="eventDraw">绘制</button><button bind:tap="eventSave">保存到本地</button>
</view>

 index.wxss代码:

.share-image {width: 600rpx;height: 810rpx;margin: 0 75rpx;padding: 1px;margin-top: 40px;
}
button {margin-top: 100rpx;
}

index.js代码:

Page({data: {painting: {},shareImage: '',},onLoad() {this.eventDraw()},eventDraw() {var that = this;wx.showLoading({title: '绘制分享图片中',mask: true})this.setData({painting: {width: 375,height: 568,clear: true,views: [//这个是一个纯白的图片,给整个画布一个白背景,要不然会有马赛克{type: 'image',url: 'https://tjhaizhixian.com/weixin/item/bai.jpg',width: 375,height: 568},//边框,直接拿了一张图,当做边框{type: 'image',url: 'https://tjhaizhixian.com/weixin/item/biankuang.png',width: 375,height: 568},//商品图{type: 'image',url: 'https://tjhaizhixian.com/seafood/public/commercial/19/goodsimg/20191014/d4484c7f364078fffad452d2e158636b.jpg',width: 328,height: 328,top:20,left:22,},//商品名称{type: 'text',content: '产品名称产品名称产品名称产品名称产品名称产品名称11111111111111111111111111111111111111111111',fontSize: 20,lineHeight: 21,color: '#000000',textAlign: 'left',top: 360,left: 36,width: 290,MaxLineNumber: 2,breakWord: true,bolder: true},//线条,同样也是用的图{type: 'image',url: 'https://tjhaizhixian.com/weixin/item/xiantiao.png',width: 325,height: 5,top: 443,left:22},//商品价格{type: 'text',content: '¥198.00',fontSize: 20,color: '#E62004',textAlign: 'left',top: 414,left: 36,bolder: true},//店铺名称{type: 'text',content: '店铺名称店铺名称',fontSize: 15,lineHeight: 21,color: '#7E7E8B',textAlign: 'left',top: 414,left: 267,width: 70,MaxLineNumber: 1,breakWord: true,},// 文字, 打不出这个文字带阴影的效果, 所以也用的图{type: 'image',url: 'https://tjhaizhixian.com/weixin/item/wenzi.png',width: 145,height: 75,top: 460,left: 36,},//二维码{type: 'image',url: 'https://tjhaizhixian.com/Public/Home/images/banner/min_code.jpg',top: 455,left: 260,width: 85,height: 85},]}})},eventSave() {wx.saveImageToPhotosAlbum({filePath: this.data.shareImage,success(res) {wx.showToast({title: '保存图片成功',icon: 'success',duration: 2000})}})},eventGetImage(event) {console.log(event)wx.hideLoading()const {tempFilePath,errMsg} = event.detailif (errMsg === 'canvasdrawer:ok') {this.setData({shareImage: tempFilePath})}}
})

index.json里面的代码:

{"navigationBarTitleText": "生成海报","usingComponents": {//在使用页面注册组件(下面有下载地址,如果放的路径不一样,自行就修改为你的路径就行)"canvasdrawer": "/components/canvasdrawer/canvasdrawer" }
}

组件下载地址:

链接:https://pan.baidu.com/s/1i9zq01x58p1MdDMVmnz-_Q&shfl=sharepset 
提取码:8hrj 

二、对象结构

1.数据对象的第一层需要三个参数: width、height、views。配置中所有的数字都是没有单位的。这就意味着 canvas 绘制的是一个比例图。具体显示的大小直接把返回的图片路径放置到 image 标签中即可。
2.当前可以绘制3种类型的配置: image、text、rect。配置的属性基本上使用的都是 css 的驼峰名称,还是比较好理解的。

image(图片)

 

text(文本)

 

rect (矩形,线条)

转自:https://blog.csdn.net/zrainload/article/details/102682781

亲测可用


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

相关文章

微信小程序动态生成小程序码(云函数)

最近的需求是需要用户扫描指定二维码进去填写表单之类的需求&#xff08;暗骂提需求的人&#xff09; 看了下文档&#xff0c;嘿开发团队还真懂我们、 果断上手&#xff0c;然后问题又来了&#xff0c;这个返回值是二进制啊&#xff0c;好办&#xff01;&#xff01; 看代码 …

在线生成小程序码,微信生成带参数小程序码

一、 微信小程序码是什么 小程序码是微信自己推出的二维码&#xff0c; 可以通过扫描小程序码&#xff0c; 直接进入到对应的小程序页面。 普通的二维码是正方形的&#xff0c; 而小程序码是圆形&#xff0c; 更加容易让用户识别出来。 二、 在线生成微信小程序码 1&#xff09…

制作自己的微信小程序要怎么做?

现在不少人都想要制作自己的微信小程序&#xff0c;不管是企业还是商家都在咨询相关的问题。那么制作自己的微信小程序要怎么做&#xff1f;流程和费用分别又是怎么样的呢&#xff1f;下面个大家一起来看看。 步骤一&#xff1a;要有自己的小程序账号 首先我们需要有自己的小…

微信小程序公众平台如何生成小程序码

在微信小程序开放平台生成&#xff1a; 1.电脑打开链接下拉注册微信小程序开放平台:https://mp.weixin.qq.com/cgi-bin/wx 2.注册界面我就不多讲了&#xff0c;看着流程注册验证手机号&#xff0c;邮箱号什么的 3.注册后&#xff0c;打开登陆界面 https://mp.weixin.qq.com/ 进…

创建微信小程序

创建微信小程序。 这篇博客包括两个内容 1.创建微信小程序 2.查看微信小程序的Appid以及生成密钥 1.创建微信小程序 &#xff08;1&#xff09;.https://mp.weixin.qq.com/cgi-bin/wx微信小程序官网网址 进入微信小程序官网后&#xff0c;页面的最下面有个 “注册按钮” --&…

微信小程序生成带动态参数二维码

首先说一下我的使用场景&#xff0c;用户可根据id生成这一条记录的二维码&#xff0c;其他人扫码直接跳转到小程序&#xff0c;显示这条记录的具体信息。 分两步&#xff1a;第一在微信公众号后台配置&#xff0c;第二利用canvas前端实现二维码展示&#xff0c;并接收参数做下…

生成无限制微信小程序码

生成无限制的微信小程序码&#xff0c;主要是通过后端请求微信的接口&#xff0c;然后微信会把小程序码返回来。 本文不讲详细的方法了&#xff0c;只讲其中的一些关键点&#xff0c;官方文档也附上去了&#xff0c;结合这些点看官方文档会比较方便。 方法&#xff1a; 获取…

微信生成小程序码

微信生成小程序码扫描唤醒小程序(2) 我做的是 _**带参数无限个数小程序码**,有什么问题或者错误,请及时指出! (有些问题我还没有搞懂!但是代码能跑,小程序码能跳转!)微信官方文档地址 微信公众平台配置说明 配置微信小程序后台(至今也不能跳转到开发版)&#xff0c;登陆微信公…

微信小程序中把页面生成图片

这个问题我上网搜了一下&#xff0c;答案有多种&#xff0c;但是真正能用的没有几何。很多答案都是雷同&#xff0c;有的网友也不负责任&#xff0c;直接拿来照抄&#xff0c;自己也不跑一遍看看。哎&#xff0c;不说了&#xff0c;说多了全是泪。希望我们的技术达人在分享的时…

微信小程序之海报生成

前言&#xff1a;2.9.0 起支持一套新 Canvas 2D 接口&#xff08;需指定 type 属性&#xff09;&#xff0c;同时支持同层渲染&#xff0c;原有接口不再维护 参考文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html <!-- 海报 --&…

如何自己制作小程序?

现在小程序非常流行&#xff0c;很多人都想制作一个自己的小程序来卖货。以前制作小程序通常需要请小程序开发公司&#xff0c;而且需要每年给多少钱&#xff08;通常几百到几千&#xff09;。但随着微信越来越完善&#xff0c;现在无需找小程序服务商搭建&#xff0c;无需懂代…

微信小程序链接快速生成方法

文章目录 前言一、如何生成微信小程序链接&#xff1f;二、生成微信小程序链接步骤1.获取 URL Scheme2.获取 URL Link3.获取 Short Link4.短信打开小程序5.NFC 标签打开小程序 总结 前言 微信官方更新了链接跳转微信小程序的功能&#xff0c;在点击链接后即可直接跳转到小程序…

小程序码的生成

一、生成方式 微信小程序提供了三个接口来生成小程序码&#xff0c;分别是wxacode.createQRCode()、wxacode.get()、wxacode.getUnlimited()&#xff0c;生成的小程序码永久有效&#xff0c;其中仅getUnlimited接口生成的小程序码数量暂无限制 二、接口详解 1、wxacode.creat…

微信小程序分享小程序码的生成(带参数)以及参数的获取

这篇文章主要介绍了微信小程序分享小程序码的生成&#xff08;带参数&#xff09;以及参数的获取&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 1.小程序码介绍 从…

netlify 自动部署化工具

一、使用github或者gitlab登陆netlify 打开进入netlify官网 二、然后使用github或者gitlab账号登录。 三、登录成功后直接将自己build生成的dist 文件目录拖到虚线框中 四、可以看到netlify为我们随机生成了一个netlify下的域名&#xff0c;可以直接在浏览器访问。 五&…

Coolify: 一款超强大的开源自托管 Heroku / Netlify 替代方案

公众号关注 「奇妙的 Linux 世界」 设为「星标」&#xff0c;每天带你玩转 Linux &#xff01; Coolify 是一种可自我托管的综合解决方案&#xff0c;只需单击几下即可托管你的应用、数据库或其他开源服务。它是 Heroku 和 Netlify 的一个替代方案。 通过 Coolify 可以部署很多…

122.将实战网页部署到Netlify

● 本章我们将网站部署到Netlify ● 首先先点击右上角注册一个账号 ● 注册完成之后&#xff0c;点击sites&#xff0c;将我们的网站文件夹拖入 ● 上传成功 ● 之后就可以正常访问啦 ● 我们也可以修改我们的站点名称&#xff0c;让他更加好记

在netlify上部署golang web应用

介绍 Netlify是一个专门托管静态文件的云。这使得它非常适合托管开发人员博客、宣传册网站&#xff0c;甚至只是一个个人简历。它甚至内置了对Hugo的支持。但是Netlify也有各种动态托管解决方案&#xff0c;他们的functions服务是托管Go Web应用程序的一种非常简单的方法&…

利用Netlify/Vercel和Digitalpress搭建免费Ghost静态博客

第一步 先去https://www.digitalpress.blog/申请一个免费的Ghost博客。 当然你可以用自己的主机&#xff0c;或者digitalocean免费的学生包。只要是Ghost就可以。 第二步 注册Netlify或者Vercel(两个都可以&#xff0c;自己挑选,我自己测试Vercel链接更快) 自行测试&#…

NET Framework

NET Framework 是一个可以快速开发、部署网站服务及应用程序的开发平台&#xff0c;是 Windows 中的一个组件&#xff0c;包括公共语言运行时&#xff08;Common Language Runtime, CLR&#xff09;虚拟执行系统和 .NET Framework 类库。 .NET Framework 的特点如下。 提供标准…