uniapp如何生成自定义文字和图片的海报?
网友回复
效果:
完整uniapp代码,兼容app、h5、小程序
<template> <view> <!-- 生成海报的点击事件 --> <view @click="generatePoster">点击分享</view> <!-- 生成海报的canvas --> <view class="my-canvas-box" @touchmove.stop.prevent v-show="show" @click="show = false"> <canvas class="my-canvas" canvas-id="myCanvas" @longpress.stop="saveSharePic"></canvas> <view class="canvas-tip">长按可保存海报</view> </view> </view> </template> <script> export default { data() { return { show: false, } }, methods: { // 生成海报 generatePoster() { // 这里是创建 canvas 绘图上下文 let context = uni.createCanvasContext('myCanvas'); // 这里可以根据自己的需求显示加载动画 uni.showToast({ title: '正在生成海报,请稍后', icon: 'none', duration: 3000 }); // 小程序码图片,下面可以放一个请求,来保存小程序码。然后赋值到qrImg这个变量上面 let qrImg = 'http://repo.bfw.wiki/bfwrepo/image/5f9e27c437f2a.png'; // 给整个canvas填充白色背景(这个如果不加上的话,在APP端生成的海报没有白色背景) context.setFillStyle('#ffffff'); context.fillRect(0, 0, 500, 900); context.draw(); // 绘制用户昵称 context.setFontSize(14); context.setFillStyle('#000000'); // 这里根据自己的项目填写用户昵称的字段 context.fillText('用户的昵称', 100, 48); context.setFontSize(12); context.setFillStyle('#999999'); context.fillText('的分享', 100, 68); // 绘制价格 context.setFontSize(18); context.setFillStyle('red'); context.fillText(`¥199`, 20, 366); // 绘制商品名称,这里是调用一个方法,按字符串长度进行分割换行。【可以做一个优化】 this.drawText("商品名称", 20, 379, context); // 绘制头像 uni.d...
点击查看剩余70%
python如何利用ai自动在千牛监听和回复用户消息促成用户下单购买?
ai如何自动监听和回复咸鱼的消息?
如何解决three的三维场景CSS3DObject中iframe穿透一切问题呢?
有没有哪个ai人工智能动态生成鲜活带表情肢体动作逼真数字人与人类交流视频聊天?
threejs如何将iframe与video作为立方体模型一面的材质可点击交互?
UEFI与Legacy启动有啥不同?
可在u盘启动的开源匿名操作系统有哪些?
Pyloid与Pywebview打包生成桌面应用区别?
win10的iso镜像如何通过u盘来安装?
如何解决输入sora2邀请码报错:Sora is not available in The Netherlands yet