import Canvas from 'miniprogram-canvas'
let canvas = new Canvas(this, {
// 画布的ID
canvasId: 'canvas',
// 是否使用图片做背景,如果为true 则传入的imgArr的最后一张为背景图片,如果使用图片做北京,则canvas的宽高为图片的宽高
useBgImage: false,
// 画布的宽度 缺省 750 (单位: px) 如果useBgImage为true,此属性值无效
width: 750,
// 画布的高度 缺省 1334 (单位: px) 如果useBgImage为true,此属性值无效
height: 1334,
// 绘制超时时间
timeout: 10000,
// 是否使用预览
preview: true,
// 导出图片的格式
fileType: 'jpg',
// 需要绘制的图片元素
imgArr: [
{drawType: 'image',url:'http://image.png',x: 40, y: 1076, zIndex: 31, height: 150, width:150},
{drawType: 'image',url:'http://image.jpg',x: 35, y: 482, width: 680, height: 451, zIndex: 31},
],
// 需要绘制的文本元素
textArr: [
{drawType: 'text', text: '感谢', color: '#888889', x: 60, y: 180, zIndex: 33, fontSize: 28,textAlign: 'left'},
// 如果文本行内需要填充动态数据, 则填充部分使用 ‘${10}$’ 替代, 数字则为需要填充的文字个数, 长度可能不是很准确,根据应用场景定义
{drawType: 'text', text: '第${10}$位', color: '#888889', x: 60, y: 240, zIndex: 33, fontSize: 28,textAlign: 'left'},
{drawType: 'text', text: '为《${18}$》捐献爱心的人士', color: '#888889', x: 60, y: 290, zIndex: 33, fontSize: 28,textAlign: 'left'},
{drawType: 'text', text: '长按或扫描二维码', color: '#666', x: 210, y: 1100, zIndex: 34, fontSize: 30, textAlign: 'left'},
],
// 需要绘制的矩形的元素
rectArr: [
{drawType: 'rect',x: 10, y: 10, width: 730, height: 1314, color: '#303135', bgColor: '#FFF', zIndex: 0, radius: 20},
{drawType: 'rect',x: 10, y: 10, width: 730, height: 1000, color: '#303135', bgColor: '#303135', zIndex: 1, trr: 20, trr: 20},
],
})
Page({
onLoad() {
this.canvas = new Canvas(this,options)
},
createImage() {
// 所需要绘制的动态数据
this.canvas.setExtraData([
{drawType: 'text', text: "测试", color: '#fff', x: 140, y: 180, zIndex: 33, fontSize: 28,textAlign: 'left'},
{drawType: 'text', text: '动态数据', color: '#b78f53', x: 410, y: 240, zIndex: 33, fontSize: 28,textAlign: 'left'},
{drawType: 'text', text: '绘制动态数据', color: '#888889', x: 120, y: 290, zIndex: 33, fontSize: 28,textAlign: 'left'},
{drawType: 'text', text: '1.99', color: 'red', x: 265, y: 1162, zIndex: 34, fontSize: 26, textAlign: 'left'},
{drawType: 'image',url: "http://image.png",x: 106, y: 112, avatar: true, radius: 50,zIndex: 31},
])
// 调用draw函数开始绘制
this.canvas.draw().then(function(res) {
console.log('res', res)
})
}
})
<!--canvas-id是自己定义的,此处canvas-id是什么,option配置文件 canvasId 就是什么-->
<canvas canvas-id="canvas" style="height: {{canvasHeight}}px; width: {{canvasWidth}}px;position: absolute;left: -100000px"></canvas>