canvas 多图分享 海报生成(目前有个问题)
发布于 7 年前 作者 xiongguiying 7703 次浏览 来自 问答
  • 当前 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 回复

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

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

怎么解决的兄弟

回到顶部