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

微信小程序-运用painter插件生成海报–比canvas好用

先放插件地址:https://github.com/Kujiale-Mobile/Painter
还有个可视化把海报生成代码的地址:https://lingxiaoyi.github.io/painter-custom-poster/

可视化的
有这两个你的海报已经基本完成一大半了,比苦苦的用canvas硬画海报舒服太多了!!!
插件的目录
把这个插件放在你小程序项目component文件下,然后在你需要的地方json文件里引入一下

"usingComponents": {
    "painter": "/component/painter/painter"
  }

然后把你在可视化生成的海报代码复制一下,在需要用的那个文件目录生成一个canvas.js(当然你可以随意取名)
在这里插入图片描述
然后在对应page页面的js文件里引入这个canvas.js文件,在wxml文件里使用painter组件

<!-- 这个是生成的海报图片预览 -->
<image src="{{src}}" style="height:980rpx" mode="aspectFit" class="canvas-img"></image>
<!-- 这个是painter组件使用 -->
<painter palette="{{wxml}}" style="position: absolute; top: -9999rpx;"  bind:imgOK="onImgOK" />
<!-- 生成海报按钮 -->
<button bindtap="painterBtn">生成海报</button>

然后paintertest.js文件里

import canvas from './canvas'
// 生成海报点击事件
 painterBtn() {
    this.setData({
      wxml: canvas()
    })
    wx.showLoading({
      title: '正在生成中...',
    })
  },
  // panter 
  onImgOK(e) {
    console.log(e);
    this.setData({
      src: e.detail.path
    })
    wx.hideLoading()
  },

到此也就基本完成了

如果想动态给海报里传参

// paintertest.js
import canvas from './canvas'
// 生成海报点击事件
 painterBtn() {
 	let name="我是传递的参数";
    this.setData({
      wxml: canvas(name)  // 在此传递参数
    })
    wx.showLoading({
      title: '正在生成中...',
    })
  },
// canvas.js
module.exports = data => {
  return (
    {
      "width": "620px",
      "height": "980px",
      "background": "#ffffff",
      "views": [
        {
          "type": "text",
          "text": data.name,
          "css": {
            "color": "#191846",
            "background": "rgba(0,0,0,0)",
            "width": "536px",
            "top": "486px",
            "left": "41px",
            "rotate": "0",
            "borderRadius": "",
            "borderWidth": "",
            "borderColor": "#000000",
            "shadow": "",
            "fontSize": "30px",
            "lineHeight": "43px",
            "fontWeight": "normal",
            "textStyle": "fill",
            "textDecoration": "none",
            "fontFamily": "",
            "textAlign": "left"
          }
        },
      ]
     }
  );
}

以上基本可以解决你大部分的海报绘制需求

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值