利用微信小程序中Canvas API来合成海报生成组件封装

php是最好的语言
发布: 2018-08-06 15:48:24
原创
4754 人浏览过

每个小程序成型后,一般都会选择生成带菊花码的海报分享出去来吸引更多的流量。下面来介绍下其他的一种实现方式吧

原理:主要利用微信小程序强大的Canvas API来合成,生成后可用wx.canvasToTempFilePath()导出图片地址,从而可实现预览及保存至手机相册

一、如何使用

打开项目文件夹

   1、 git  clone  https://github.com/WGinit/mini-poster.git
登录后复制

2、在待使用页面Json文件中注册该组件

{ “usingComponents“:

  { “share-image“: “/components/share_image/share_image“ }

}
登录后复制

3、在页面中使用该组件

  <share–image

       drawDataList=“{{dataList}}“>

  </share–image>
登录后复制

二、参数配置

dataList: {
    canvasData:{
      type: &#39;image&#39;,
      url: &#39;&#39;,
      top: 0,
      left: 0,
      width: 750,
      height: 1334,
      comment: &#39;背景图&#39;,
      btnText: &#39;保存至相册&#39;
    },
    content: [{
      type: &#39;image&#39;,
      url: &#39;&#39;,
      top: 136,
      left: 100,
      shape: &#39;square&#39;,
      width: 290,
      height: 186,
      comment: &#39;头像&#39;
    }, {
      type: &#39;text&#39;,
      content: &#39;白山羊&#39;,
      top: 336,
      left: 100,
      fontSize: 40,
      lineHeight: 40,
      color: &#39;#f00&#39;,
      textAlign: &#39;left&#39;,
      weight: &#39;bold&#39;,
      maxWidth: 287
    }]
  }
登录后复制

三、参数说明

canvasData------------canvas相关参数配置
参数 类型 默认值 必填 说明
type String image 文件类型, 这里为背景图,默认image
url String '' 网络图片地址
top Number 0 图像的左上角在可视区域上 Y 轴的位置, 单位px
left Number 0 图像的左上角在可视区域上 X 轴的位置, 单位px
width Number 750 画布的宽度, 单位px
height Number 1334 画布的高度, 单位px
comment String '背景图' 图片描述
btnText String '保存至相册' 生成按钮文字
content -------绘制内容参数
参数 类型 默认值 必填 说明
type String '' 绘制的类型,可选image和text
shape String 'square' 绘制图片的形状, square 方形, circle 圆形
url String '' - 图片的网络地址, type为image必填
content String '' - 文本内容, type为text必填
top Number 0 图像的左上角在目标画布上 Y 轴的位置, 单位px
left NUmber 0 图像的左上角在目标画布上 X 轴的位置, 单位px
width Number 100 绘制图片的宽度,单位px
height Number 100 绘制图片的高度, 单位px
comment String '' 绘制图片的说明
fontSize Number 32 文本字体大小,单位px
lineHeight Number 32 文本行高, 单位px
color String '#FFFFFF ' 文本字体颜色
textAlign String 'center' 文本水平对齐方式, 可选left, center, right
weight String 'normal' 文本字体粗细
maxWidth Number 600 文本限制的最大宽度,单位px

四、备注

上述单位都是参照设计稿(750 * 1334)而来,实际情况可直接按设计稿上尺寸配置参数.

相关文章:

js与canvas合成图片做出微信公众号海报功能

微信小程序的多文件下载封装使用

以上是利用微信小程序中Canvas API来合成海报生成组件封装的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!