xlfsummer / mp-painter

声明式地创建适用于 uniapp, 原生微信小程序和原生H5的 canvas 海报

Home Page:https://mp-painter.xlf-summer.cn/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

支持在绘制前获取到要绘制的内容的高度

xlfsummer opened this issue · comments

由于在部分场景下需要支持海报高度由内容高度决定,而内容高度可能是不确定的,特别是多行文本元素。所以决定增加这个功能。

计划如下,将绘制分为三个阶段:

  1. 布局阶段,计算每个元素的尺寸
  2. 触发一个回调,将整个对象的绘制的尺寸传出,暂定名 afterLayout,调用者可以在函数内获取到布局阶段计算出的尺寸,并根据这个尺寸设置 canvas 的尺寸。
interface Size {
  width: number;
  height: number;
}

var afterLayout: (size: Size) => any
  1. 绘制阶段,调用 CanvasContext 实际的绘制接口进行绘制

相关 issue:

已在 beta 版中增加了此功能,可查看 示例

也可以使用 npm install --save mp-painter@next 下载安装体验