安装 vue-canvas-poster 插件

npm i --save vue-canvas-poster

封装成组件(微信长按保存图片)

<template><div class="talent_poster"><vue-canvas-poster:widthPixels="1000":painting="painting"@success="canvasSuccess"@fail="canvasFail"></vue-canvas-poster><img :src="posterImg" /><div class="tipTxt">长按保存或分享</div><!--关闭--><div style="width: 100%; text-align: center"><div class="cancleBtn" @click="$emit('hideposter')"><span id="close"></span></div></div></div>
</template>
<script>
import wx from "weixin-js-sdk";
export default {middleware: "",props: {},components: {},data() {return {showPoster: true,posterImg: "", //生成的海报painting: {width: "750px",height: "1168px",background: "",views: [{type: "qrcode",content: "",background: "transparent",css: {bottom: "350px",left: "0",right: "275px",color: "#000",background: "#fff",width: "0px",height: "0px",borderWidth: "10px",borderColor: "#fff",},},{type: "text",text: "",css: {top: "36%",right: "13.5%",width: "325px",maxLines: 1,textAlign: "center",fontSize: "70px",color: "#0068B7",},},{type: "text",text: "",css: {top: "44%",right: "13.5%",width: "325px",maxLines: 1,textAlign: "center",fontSize: "70px",color: "#0068B7",},},],},};},created() {},methods: {open(item) {if (item.paintingWidth || item.paintingHeight) {this.painting.width = item.paintingWidth;this.painting.height = item.paintingHeight;}this.painting.background = item.bgImg;this.painting.views[0].content = item.codeUrl;this.painting.views[0].css = item.css;if (item.textObj) {this.painting.views[1].text = item.textObj.txt1;this.painting.views[2].text = item.textObj.txt2;}},canvasSuccess(src) {this.posterImg = src;},canvasFail(err) {alert(err);},saveImg() {wx.saveImageToPhotosAlbum({filePath: this.posterImg,success(res) {},fail(err) {console.log(err);},});},},
};
</script>
<style lang="less" scoped>
.talent_poster {position: fixed;width: 80%;top: 50%;left: 50%;z-index: 999;transform: translate(-50%, -50%);margin: 0 auto;img {width: 100%;height: 100%;margin-bottom: 10px;}.tipTxt {text-align: center;color: #ccc;}
}
</style>

使用组件

let data = {paintingWidth: '816px',paintingHeight: '1219px',bgImg:‘’,codeUrl:‘’,//网页地址css: {bottom: '14.5%',left: '0',right: '34.5%',width: '260px',height: '260px',},
}
this.$refs.invitePoster.open(data)

效果

vue生成海报(vue-canvas-poster)相关推荐

  1. Vue 生成海报的插件vue-canvas-poster

    1.npm安装vue-canvas-poster npm i --save vue-canvas-poster 2.在mian.js中引入 important VueCanvasPoster from ...

  2. vue使用html2canvas截取div内容生成海报~ vue生成海报

    最近项目有需求需要把生成海报.就在网上查了一些资源记录一下. 首先就是下载依赖了.老规矩: npm i html2canvas 然后在需要的组件里面引用: import html2canvas fro ...

  3. Vue 生成海报图的方法

    UI给了一张背景图, 需要根据接口返回的数据,将数据填充到背景图中,然后让用户可以通过长按海报转发给朋友. 步骤: 1. 使用了 绝对定位的方式,将数据内容,定位到 背景图 相应的位置 2. 添加依赖 ...

  4. vue 生成海报完整代码, (包括远程图片转base64、html2canvas 在IOS系统兼容的解决办法)

    最终效果: 1. html结构分为3部分:最终的海报图 + 内容布局 + 保存提示文字(可忽略) <template><section><img :src="f ...

  5. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)

    可在系列教程的基础上继续开发,也可以单独使用 [微信小程序-原生开发]系列教程 效果预览 代码实现 点击触发生成海报 在活动详情页,指定点击某图标/按钮,触发跳转到生成海报的页面 pages\comp ...

  6. 微信小程序-运用painter插件生成海报分享朋友圈--比canvas好用

    微信小程序-运用painter插件生成海报–比canvas好用 先放插件地址:https://github.com/Kujiale-Mobile/Painter 还有个可视化把海报生成代码的地址:ht ...

  7. html2canvas生成海报的各种问题

    html2canvas (一)官网下载安装 (二)基础用法 (三)生成海报问题 canvas高分屏下的模糊问题 html2canvas图片模糊问题 canvas图片getImageData,toDat ...

  8. 微信小程序之生成海报保存本地

    知识都在代码里 index.wxml <view class="canvas-box"><button bindtap="generate"& ...

  9. vue中如何使用canvas循环生成多张海报?

    一. 需求背景 长按分享图片,图片中含有自己分享链接生成的二维码,需要把二维码和背景图合成一张海报,项目需求是循环生成多张海报 二. canvas画布的生成条件 要生成画布的html元素不能是隐藏状态 ...

最新文章

  1. 我常去的编程技术网站[最近更新:2010.09.29]
  2. 苹果6尺寸_小屏+刘海被安卓阵营抛弃,苹果却玩出了花
  3. 微软VSTS的新功能:WebTest要点
  4. 四十八、使用Python和Stata完成广西碳酸钙企业的主成分分析和因子分析
  5. Simulink之相控整流电路的组合
  6. 用摸鱼学来解释隐马尔可夫模型(HMM)
  7. 程序员在家办公没显示屏,我被领导鄙视了
  8. 怎么清除远程计算机的用户名,Windows8系统如何清除“远程桌面连接”登录历史痕迹...
  9. jQuery UI DatepickerDatetimepicker添加 时-分-秒 并且,判断
  10. objective-C 的OOP(上)--类定义、继承及方法调用
  11. 有趣的代码,让生活更加愉快(抖音网红代码)
  12. dm9000驱动分析
  13. csr x509证书_证书格式简介 - CSR 文件生成 - 中国数字证书CHINASSL
  14. chorme唤起Java开发的本地程序全采坑记
  15. War3地图编辑器基础:玩家设置+地图元素的属性设置+地图事件设置
  16. 谷歌浏览器设置关闭搜索记录
  17. BI是什么?应用BI工具能给企业带来哪些帮助?
  18. 团队管理:需求之殇——两个凡是
  19. Plant Simulation中的“开机自启”-autoexec
  20. 熠龙时空PC端职教模块

热门文章

  1. Flask项目之手机端租房网站的实战开发(一)
  2. 三、大数据存储——HBase
  3. 电容选型及常用值与作用的学习
  4. 学生选课系统业务需求
  5. 图片裁剪上传插件—jquery.photoClip.js
  6. ms 真空层_Materials Studio学习
  7. 2019中国信息安全自主可控行业政策盘点及网络安全行业分析
  8. linux中ps命令输出pid,LINUX使用ps命令获取对应PID
  9. ExecutorService 详解 -- 执行器服务(线程池)
  10. 10 个免费的高清图库网站,强烈推荐