收藏
回答

canvas 多图分享 海报生成(目前有个问题)

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug canvasToTempFilePath 客户端 7.0.3 2.6.6

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


![](https://mmbiz.qpic.cn/mmbiz_jpg/icJYsdKbGMaDCqmXDPPkFpo7JpdsjsyqLVLOr23HUgAVfCPdgsITicSq9ZicppxAfh6rLnrCAFvacchHiaZ0w0vc8w/0?wx_fmt=jpeg)

这个是我在mac上生成的目标海报 ;

目前功能支持模板选择,微信分享页面,以及海报;

最麻烦的就是 图片都是 网络图片,需要批量下载 (现在用promise满足)并保持顺序不变(挠头),

以及第二部分图片需要高度自适应,因为需要计算canvas整体高度,所以存在巨多回调(需要先下载图片,然后在调getImageInfo获取高度,在进行高度统计,以及中间背景色 以及白色矩阵背景高度确定,递归处理掉),真的无力吐槽我们的设计 

而且是多接口分享场景共存 逻辑就不谈了(写了都快1000行代码了 贼难受)


但是现在 在真机7P XR 7 还有几个安卓机子上  保存海报 后 只存在一屏的情况如下图  

![](https://mmbiz.qpic.cn/mmbiz_jpg/icJYsdKbGMaDCqmXDPPkFpo7JpdsjsyqL0nhhzf4c3Vc9ibIEuFeiblUxoiaWgvJz8Scib6AOQibu0Ars4ypbfsiar9fQ/0?wx_fmt=jpeg)下面 很长一部分在canvasToTempFilePath中生成高度有误(生成后的图片获取信心后图片高度 打印出来 高度就是只有一屏),只有当前一屏高度 对比我一版的代码  根本没有区别 ,不知道有没有人遇到过 "当canvas很长的时候 超过一屏后的图片不保存"


回答关注问题邀请回答
收藏

3 个回答

  • 微信技术专员 - Rex
    微信技术专员 - Rex
    2019-05-22

    看起来比较复杂,这样不好定位,能提供下代码片段比较好

    2019-05-22
    有用
    回复
  • L°
    2019-09-17

    遇到了,还不知道怎么解决

    2019-09-17
    有用
    回复 3
    • 柴周
      柴周
      2019-09-23
      在draw函数的成功回调加个 绘制成功的 flag 在保存相册的时候判断下 好像是这样 年代久远了
      2019-09-23
      回复
    • L°
      2019-09-23回复柴周
      判断什么,能不能给个截图或者简单的代码片段,唉 头疼
      2019-09-23
      回复
    • L°
      2019-09-23回复柴周
      更新了下微信,现在可以生成多屏了
      2019-09-23
      回复
  • WuQi
    WuQi
    2019-06-26

    怎么解决的兄弟

    2019-06-26
    有用
    回复
登录 后发表内容