海报内容位置尺寸根据设计稿680px为基础宽度计算绘制元素的坐标,为了海报保存清晰度添了放大比例rate,海报内所有x、y、width、height的计算都*rate。因为海报主体展示图片高度不定,所以海报最终高度=图片高度+其他展示区域高度。rate目前是设备宽度/375得出的,大部分机型得出的比例都是1.1以内,海报在安卓和苹果机型上正常;但在iPhone 14 Pro Max上得出rate=1.14后,海报生成的图片就变成空白了,后经多次测试海报总高度超过1350在目前常规可见的苹果手机上生成的图片都是空白。
代码片段中我手动设置了rate=1.14,在苹果手机上生成的图片无一列外都是空白;但如果将rate修改为1.13及以下则正常,此问题在安卓正常。【图片宽高:680*960,底部扩展高度:240,海报总高度:(960+240)*1.14=1368】
安卓端 用画布正常画完可以保存到手机相册,相同的代码苹果手机是一种空白的图片,这个是什么原因呢?
tip
: Canvas 2D(新接口)需要显式设置画布宽高,默认:300*150
,最大:1365*1365