uniapp实现生成海报功能
在一些项目中有些需求会需要分享海报的功能,今天呢就为大家分享一下我在用uniapp开发中使用的一款插件,可以任意的布局。超级好用
文档链接安排上:https://ext.dcloud.net.cn/plugin?id=2389
引入插件
在上面的链接中下载插件然后引入
import lPainter from '@/components/lime-painter/'//存放插件的路径,可能跟我的不一样
export default {components: {lPainter}
}
基本用法
board 画板需要传一段样式的JSON对象,画板属性width、height、及元素数组views, 目前元素类型有view、text、image、qrcode
css 对象里的位置都是相对于画板的绝对定位,支持rpx、px
建议另外新建一个文件存在海报
我就新建了一个canvas-poster.vue
//canvas-poster.vue
<template><view>//isRenderImage绘制完之后生成图片 生成图片后的回调函数<l-painter :board="base" isRenderImage @success='changeImg'/></view>
</template>
简单试试在画板上布局排版自己想要的效果
import lPainter from '@/components/lime-painter/'
export default {components: {lPainter}
}
export default {data() {return {base: {width: '686rpx',height: '130rpx',views: [{type: 'view',css: {left: '0rpx',top: '0rpx',background: '#07c160',width: '120rpx',height: '120rpx'}},{type: 'text',css: {left: '180rpx',top: '18rpx',background: '#1989fa',width: '80rpx',height: '80rpx',transform: 'transform: rotate(50deg)'}}]}}}
}
使用qrcode二维码的时候需要注意一点
需要在https://gitee.com/liangei/lime-painter/blob/master/qrcode.js上下载qrcode.js覆盖插件目录的qrcode.js才生效
{type: 'qrcode',text: '二维码内容',css: {left: '380rpx',top: '230rpx',width: '200rpx',height: '200rpx',color: '#1989fa',backgroundColor: 'rgba(25,137,250,.1)'//二维码底色border: '20rpx solid rgba(25,137,250,.1)',}
}
最后获取图片
methods: {changeImg(imgUrl) {//如果是在主页面使用这插件可以直接定义一个变量保存图片地址this.imgUrl=imgUrl//如果是想我一样另外进行封装就直接用$emit传递给父组件this.$emit('onChange',imgUrl)}
}
在父组件中就可以直接调用接口获取到imgUrl
//父组件
<template><view>//isRenderImage绘制完之后生成图片 生成图片后的回调函数<canvas-poster @onChange='getImgUrl'></canvas-poster><u-button type="primary" @click='savePicture'>保存图片</u-button></view>
</template><script>
export default {data(){return {imgUrl:''}},methods: {changeImg(imgUrl) {this.imgUrl=imgUrl}savePicture(){//下载图片到系统相册中uni.saveImageToPhotosAlbum({filePath: this.imgUrl,success: function () {console.log('保存成功');}});}}
}</script>
好了,基本的一个开发流程就是这样了,如果对你有用请点赞收藏哦,谢谢支持!
有问题或者有更好的建议也可以下方评论区评论,谢谢
uniapp实现生成海报功能相关推荐
- h5 uniapp html2canvas生成海报,保存到本地功能实现;
html2canvas生成海报,保存到本地功能实现 1. 在开发过程中我们将HTML2canvas封装成一个组件,通过prop传递ID参数 2. 组件的使用,伪代码不要直接复制uniapp语法 3. ...
- 微信小程序/uni-app生成海报功能@令狐张豪
使用技术栈:uni-app 使用官方文档提供的API:createCanvasContext(uni-app) /CanvasContext(原生) *注意:海报里用到的图片都得先使用小程序提供的下载 ...
- uni-app如何生成海报图片
项目场景: 在uni-app中,通过点击邀请分享海报的方式,可以展示不同的海报,并通过扫描海报上的二维码来实现用户之间的关系绑定,从而实现分销功能: 每次生成的海报样式都可能不同,可以根据后台配置的宽 ...
- uniapp页面生成海报并保存和分享微信
Painter 画板 | LimeUiLimeUi - 增强型的 uni-app 组件库http://liangei.gitee.io/limeui-docs/components/painter/ ...
- vue项目之H5 app 生成海报功能
一.需求 本次[世纪盛典]活动,分为三期,每期都有海报相关的工作内容. 海报带有动态的个人信息.头像.证书编号及二维码等. 本次活动需要在微信h5.小程序.app里面正常启动. 二.经过 网上查找使用 ...
- 微信小程序实现画布生成海报功能
微信小程序可以通过使用 标签来实现生成海报的功能.以下是基本实现步骤: 1.在 WXML 文件中创建一个 标签,并设置其宽度和高度属性.' <canvas canvas-id="myC ...
- uniapp 实现生成海报并分享给微信好友和保存到本地相册
记录uniapp 生成二维码海报并保存到本地或者分享给微信好友 – 文章目录 记录uniapp 生成二维码海报并保存到本地或者分享给微信好友 前言 一.引入生成二维码的组件 二.点击右侧的分享图标生成 ...
- 用vue PHP实现海报设计功能,有关vue html2canvas生成海报功能的实现
这是我第一篇简书文章,作为一名前端,而且现在电商比较流行的情况下 很多电商公众号商城都用到了生成海报图片长按保存到相册然后可以转发给好友或者分享到朋友圈 在Web前端中,生成图片非Canvas莫属 ...
- uniapp html生成海报
自行引入组件调用 注:只能渲染当前可视页面,附带生成二维码 试都不试张嘴就来的滚粗 组件poster.vue <template><view class="posterBo ...
最新文章
- 2021年大数据常用语言Scala(六):基础语法学习 数据类型与操作符
- linux服务器重启后阵列卡分区没了,服务器数据丢失了怎么恢复/分区丢失恢复教程...
- RTMP Handshake
- 《HTML、CSS、JavaScript 网页制作从入门到精通》——第6章 使用表格
- Github博客地址
- HDU 3072 SCC Intelligence System
- php之防注入程序绕过浅谈
- 【JAVA】线程安全的案例
- 解决办法:对lzma_stream_decoder/lzma_code/lzma_end未定义的引用
- 淘宝直通车关键数据 如何利用直通车获取手淘搜索流量 如何利用定向操作获得猜你喜欢流量
- unity学习之路—飞机大战
- 学习JME3的第一次小结
- NBA GLOSSARY
- 三年大厂面试官——二面题(偏难)
- 透过Python 将接收邮件邮件进行分类统计
- Mac appStore下载软件报500错误的解决方法
- Software supply chain security | Network security
- HNC-局部联想脉络
- Tableau绘制甘特图、瀑布图
- MySQL 两张表取差集
热门文章
- ZYNQ开发(三)Linux Vi/Vim编译器
- clickhouse建表异常 DB::Exception: No macro ‘shard‘ in config
- 2021年低压电工及低压电工证考试
- 攻防世界Misc-来自银河的信号
- SitePoint播客#136:政府发布的单个浏览器
- STM32F429_DWM物联网开发板
- IP协议号大全(转载)
- 跨模态行人重识别:Deep Learning for Person Re-identification:A Survey and Outlook(行人重识别综述)
- 单点定位2米精度?这张卡差点干掉了RTK(内有轨迹对比图)
- 游戏领域的“抄袭”与“借鉴”之分,无耻与致敬仅有一步之遥