# wxa-plugin-canvas
小程序组件-小程序海报组件
<a href="https://www.npmjs.com/package/wxa-plugin-canvas"><img src="https://img.shields.io/npm/v/wxa-plugin-canvas.svg?style=flat" alt="npm"></a>
<a href="https://www.npmjs.com/package/wxa-plugin-canvas"><img src="https://img.shields.io/npm/dm/wxa-plugin-canvas.svg?style=flat" alt="npm"></a>
## 概述
wxa-plugin-canvas是一个生成二维码海报的组件,通过非常简单的配置就可以生成精美的海报
## 生成效果
<img width="300" src="https://github.com/jasondu/wxa-plugin-canvas/blob/master/demo.png"></img>
## 组件原理说明文章
https://juejin.im/post/5b7e48566fb9a01a1059543f
## 使用之前
使用 wxa-plugin-canvas 前,请确保你已经学习过微信官方的 [小程序简易教程](https://mp.weixin.qq.com/debug/wxadoc/dev/) 和 [自定义组件介绍](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/)。
## 安装
#### 方式一.通过 npm 安装 (推荐)
小程序已经支持使用 npm 安装第三方包,详见 [npm 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html?search-key=npm)
```
# npm
npm i wxa-plugin-canvas -S --production
# yarn
yarn add wxa-plugin-canvas --production
```
#### 方式二.下载代码
直接通过 git 下载 wxa-plugin-canvas 源代码,并将`miniprogram_dist`目录拷贝到自己的项目组件目录中
## 使用组件
```json
{
"usingComponents": {
"poster": "wxa-plugin-canvas/poster",
}
}
```
接着就可以在 wxml 中直接使用组件
```html
<poster id="poster" config="{{posterConfig}}" bind:success="onPosterSuccess" bind:fail="onPosterFail">
<button>点击生成海报</button>
</poster>
```
## 使用注意事项
1. 图片的域名**务必**添加到downloadFile合法域名中(开发设置-服务器域名-downloadFile合法域名)
2. 如果要使用**异步生成海报**的方法,务必组件要加上`` id="poster"``
## 组件参数解释
### config字段
| 字段 | 类型 | 必填 | 描述 |
| --------------- | ------------------------ | ---- | ------------------------------------------ |
| width | Number(单位:rpx) | 是 | 画布宽度 |
| height | Number(单位:rpx) | 是 | 画布高度 |
| backgroundColor | String | 否 | 画布颜色 |
| debug | Boolean | 否 | false隐藏canvas,true显示canvas,默认false |
| pixelRatio | Number | 否 | 1为一般,值越大越清晰 |
| preload | Boolean | 否 | true:图片资源预下载 默认false |
| hide-loading | Boolean | 否 | true:隐藏loading 默认false |
| blocks | Object Array(对象数组) | 否 | 看下文 |
| texts | Object Array(对象数组) | 否 | 看下文 |
| images | Object Array(对象数组) | 否 | 看下文 |
| lines | Object Array(对象数组) | 否 | 看下文 |
### blocks字段
| 字段名 | 类型 | 必填 | 描述 |
| --------------- | ---------------- | ---- | -------------------------------------- |
| x | Number(单位:rpx) | 是 | 块的坐标 |
| y | Number(单位:rpx) | 是 | 块的坐标 |
| width | Number(单位:rpx) | 否 | 如果内部有文字,由文字宽度和内边距决定 |
| height | Number(单位:rpx) | 是 | |
| paddingLeft | Number(单位:rpx) | 否 | 内左边距 |
| paddingRight | Number(单位:rpx) | 否 | 内右边距 |
| borderWidth | Number(单位:rpx) | 否 | 边框宽度 |
| borderColor | String | 否 | 边框颜色 |
| backgroundColor | String | 否 | 背景颜色 |
| borderRadius | Number(单位:rpx) | 否 | 圆角 |
| text | Object | 否 | 块里面可以填充文字,参考texts字段解释 |
| zIndex | Int | 否 | 层级,越大越高 |
### texts字段
| 字段名 | 类型 | 必填 | 描述 |
| -------------- | ---------------- | ---- | ------------------------------------------------------------ |
| x | Number(单位:rpx) | 是 | 坐标 |
| y | Number(单位:rpx) | 是 | 坐标 |
| text | String\|Object | 是 | 当Object类型时,参数为text字段的参数,marginLeft、marginRight这两个字段可用(示例请看下文) |
| fontSize | Number(单位:rpx) | 是 | 文字大小 |
| color | String | 否 | 颜色 |
| opacity | Int | 否 | 1为不透明,0为透明 |
| lineHeight | Number(单位:rpx) | 否 | 行高 |
| lineNum | Int | 否 | 根据宽度换行,最多的行数 |
| width | Number(单位:rpx) | 否 | 没有指定为画布宽度 |
| marginLeft | Number(单位:rpx) | 否 | 当text字段为Object可以使用,用来控制多行文字间距 |
| marginRight | Number(单位:rpx) | 否 | 当text字段为Object可以使用,用来控制多行文字间距 |
| textDecoration | String | 否 | 目前只支持 line-through(贯穿线),默认为none |
| baseLine | String | 否 | top\| middle\|bottom基线对齐方式 |
| textAlign | String | 否 | left\|center\|right对齐方式 |
| zIndex | Int | 否 | 层级,越大越高 |
| fontFamily | String | 否 | 小程序默认字体为'sans-serif', 请输入小程序支持的字体,例如:'STSong' |
| fontWeight | String | 否 | 'bold'加粗字体,目前小程序不支持 100 - 900 加粗 |
| fontStyle | String | 否 | 'italic'倾斜字体 |
### images字段
| 字段 | 类型 | 必填 | 描述 |
| ------------ | ---------------- | ---- | ----------------------------------------- |
| x | Number(单位:rpx) | 是 | 右上角的坐标 |
| y | Number(单位:rpx) | 是 | 右上角的坐标 |
| url | String | 是 | 图片url(**需要添加到下载白名单域名中**)也支持本地图片 |
| width | Number(单位:rpx) | 是 | 宽度(**会根据图片的尺寸同比例缩放**) |
| height | Number(单位:rpx) | 是 | 高度(**会根据图片的尺寸同比例缩放**) |
| borderRadius | Number(单位:rpx) | 否 | 圆角,跟css一样 |
| borderW
没有合适的资源?快使用搜索试试~ 我知道了~
小程序海报组件-生成朋友圈分享海报并生成图片.zip
共27个文件
json:8个
js:5个
wxss:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 101 浏览量
2024-11-30
11:23:54
上传
评论
收藏 619KB ZIP 举报
温馨提示
wxa-插件-画布小程序组件-小程序海报组件 概述wxa-plugin-canvas是一个生成二维码海报的组件,通过非常简单的配置就可以生成精美的海报生成效果組織原理文章https://juejin.im/post/5b7e48566fb9a01a1059543f使用之前在使用 wxa-plugin-canvas 之前,请确保您已经学习过微信官方的 小程序简单教程 和 自定义组件介绍。安装方式一.通过npm安装(推荐)小程序已经支持使用npm安装第三方包,参见 npm支持# npmnpm i wxa-plugin-canvas -S --production# yarnyarn add wxa-plugin-canvas --production方式二.下载代码直接通过 git 下载 wxa-plugin-canvas 源代码,把miniprogram_dist目录拷贝到自己的项目组件目录中套件{ "usingComponents": { "poster": "wxa-plugin-canvas/poster"
资源推荐
资源详情
资源评论
收起资源包目录
小程序海报组件-生成朋友圈分享海报并生成图片.zip (27个子文件)
pages
index
index.wxml 343B
index.js 8KB
index.json 85B
index.wxss 0B
miniprogram_dist
index
index.wxml 189B
index.js 19KB
index.json 25B
index.wxss 261B
poster
index.wxml 126B
poster.js 627B
index.js 3KB
index.json 95B
index.wxss 0B
app.json 218B
project.config.json 615B
标签.txt 30B
app.js 68B
LICENSE 11KB
app.wxss 194B
jsconfig.json 79B
package.json 778B
package-lock.json 45KB
资源内容.txt 874B
.gitignore 29B
zan.jpg 101KB
demo.png 512KB
README.md 10KB
共 27 条
- 1
资源评论
徐浪老师
- 粉丝: 8225
- 资源: 9590
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功