绘制自增长超长图微信头像海报方案
前两周接到一个项目需求:
类似微信朋友圈点赞的功能,但是点赞的头像列表要生成长图海报如下是已经完成的效果
主要是绘制头像列表的逻辑
目前的的绘图逻辑是
- 首先绘制出一个(宽度是1080 高度是头像的高度)透明背景,然后将头像一个一个的绘制到这个长方形的透明背景上
- 换行时,
<1>绘制一个透明背景(宽度不变,高度=当前头像高度+ 上一次绘制好的头像列表高度),
<2>取上一次绘制好的透明头像列表和需要绘制新的头像将其绘制到新的透明背景上
3.如此重复以上步骤
当达到500 以上 1000人以后 绘制图片+合成图片效率极慢而且还容易带来读取图片出错,慢的原因是因为头像列表的图片资源越来越大读取图片和绘制图片操作的是资源 所以被程序占用,导致其它用户不能操作,必须等操作资源的用户完成才能第二个用户使用
现求类似多线程处理图片的方案
红色部分就是需要绘制的目标
回答:
试试 imagemagick, 拼图很简单
montage *.jpg -tile 7x200 -geometry 64x128+0+0 bigpic.jpg
将目录里的jpg文件按顺序拼成x轴7块,y轴200块的图 ,每个图块的大小为64X128像素,输出文件为bigpic.jpg
回答:
不需要每次绘制所有头像,缓存上一次绘制结果,如果有用户变动,基于上次结果进行绘制新图
以上是 绘制自增长超长图微信头像海报方案 的全部内容, 来源链接: utcz.com/a/158270.html