微信小程序-绘制图片并分享下载(painter)

1、引入painter插件

painter官网地址

1.1 可通过官网的方法引入painter插件,

官方插件下载地址

1.2 可下载本文附带的插件包直接引入
1.2.1 复制下载下来的文件中的painter文件夹,将其放在components目录下
1.2.2 页面中引入并使用

.json

javascript 复制代码
{
  "usingComponents": {
    "painter":"/components/painter/painter"
  },
}

.wxml

javascript 复制代码
  <painter palette="{{posterData}}" bind:imgOK="onImageOK" />

.js

javascript 复制代码
const poster = require("./posterData")

  data:{
     posterImageUrl: "", //海报图片
     posterData: {},
  }
  onLoad(options) {
     this.setData({
         posterData: poster.getPosterData('这个是一个问题','这个是一个回答')
     })
  }
  //监听海报是否生成成功
  onImageOK(e) {
    wx.hideLoading();
    this.setData({
      posterImageUrl: e.detail.path
    })
    wx.showShareImageMenu({
      path: this.data.posterImageUrl
    })
  },

posterData.js

这个文件放在上面几个文件的同级目录下

javascript 复制代码
//图片路径一定要是绝对路径或者网络路径,相对路径是无法显示的
export function getPosterData(question = '', answer = '') {
  return {
    width: '686rpx',
    height: '686rpx',
    background: "#FFFFFF",
    borderRadius: " 24rpx 24rpx 24rpx 24rpx",
    views: [{
        type: "text",
        text: "我与AI小硒的对话",
        css: {
          top: "32rpx",
          left: "32rpx",
          fontSize: "36rpx",
          color: "#000000",
          maxLines: 2,
          lineHeight: "52rpx",
          textAlign: "left",
          fontWeight: "bold"
        }
      },
      {
        type: 'image',
        url: "/agriculturalGrandModel/images/location.png",
        css: {
          top: '94rpx',
          left: '32rpx',
          width: '32rpx',
          height: '32rpx',
        },
      },
      {
        type: "text",
        text: "来源:富硒农业认知大模型",
        css: {
          top: "94rpx",
          left: "72rpx",
          fontSize: "24rpx",
          color: "rgba(0,0,0,0.9)",
          lineHeight: "40rpx",
          textAlign: "left",
        }
      },
      {
        type: 'image',
        url: '',
        css: {
          top: '32rpx',
          right: '32rpx',
          width: '100rpx',
          height: '100rpx',
        },
      },
      {
        type: 'rect',
        css: {
          top: '154rpx',
          right: '32rpx',
          width: '620rpx',
          height: '480rpx',
          color: "#F5F6F7",
          borderRadius: "10rpx 10rpx 10rpx 10rpx"
        },
      },
      {
        type: 'image',
        url: "/agriculturalGrandModel/images/user-icon.png",
        css: {
          top: '176rpx',
          right: '54rpx',
          width: '66rpx',
          height: '66rpx',
          borderRadius: "50%"
        },
      },
      {
        type: "text",
        text: question,
        css: {
          width: "435rpx",
          top: "192rpx",
          right: "154rpx",
          maxLines: 3,
          fontSize: "23rpx",
          color: "#fff",
          lineHeight: "36rpx",
          textAlign: "left",
          background: "linear-gradient( 273deg, #44BE35 0%, #6ECB63 100%)",
          boxShadow: "0rpx 2rpx 7rpx 0rpx rgba(0,0,0,0.05)",
          borderRadius: "20rpx 0rpx 20rpx 20rpx",
          padding: "20rpx"
        }
      },
      {
        type: 'image',
        url: "/agriculturalGrandModel/images/ai-icon.png",
        css: {
          top: "360rpx",
          left: '50rpx',
          width: '66rpx',
          height: '66rpx',
          borderRadius: "50%"
        },
      }, {
        type: "text",
        text: answer,
        css: {
          width: "435rpx",
          top: "360rpx",
          left: "150rpx",
          maxLines: 6,
          fontSize: "23rpx",
          color: "rgba(0, 0, 0, 0.90)",
          lineHeight: "36rpx",
          textAlign: "left",
          background: "#fff",
          boxShadow: "0rpx 2rpx 7rpx 0rpx rgba(0,0,0,0.05)",
          borderRadius: "0rpx 20rpx 20rpx 20rpx",
          padding: "20rpx"
        }
      },
    ],
  }
}

效果如下

相关推荐
a17798877124 小时前
小程序上传图像失败
小程序·c#
花卷HJ10 小时前
微信小程序国际化完整方案
微信小程序·小程序·notepad++
2501_9160088910 小时前
2026 iOS 证书管理,告别钥匙串依赖,构建可复制的签名环境
android·ios·小程序·https·uni-app·iphone·webview
nhc08811 小时前
贵阳纳海川科技・上门洗车行业解决方案
科技·微信小程序·软件开发·小程序开发
土土哥V_araolin11 小时前
十二星商城小公排系统开发
小程序·个人开发·零售
hashiqimiya12 小时前
微信小程序--动态切换登录注册标签页
微信小程序·小程序
hashiqimiya12 小时前
微信小程序--获取验证码设计倒计时灰白色
微信小程序·小程序
weixin_lynhgworld15 小时前
电商营销新风口,淘宝扭蛋机小程序引爆流量与转化
小程序
2501_9339072116 小时前
宁波小程序公司提供专业的小程序开发服务
科技·微信小程序·小程序
杰建云16716 小时前
小程序搭建如何影响企业数字化转型
小程序·小程序制作