大佬们,有没有什么方法可以控制gif动图循环播放的次数?
图片应该不能控制吧,截一个快照 盖在上边?
那怎么检测他已经循环了我指定的次数呢?比如我希望循环播放三次之后停止,那我怎么确定它已经循环了3次呢?
应该不行吧,要不你就看一下它循环一遍是多长时间,设个定时器,再截一张gif图的封面图片,定时器时间到了,把gif替换为图片
这个图片不是固定的,是动态传入的,时间不一定一样,所以不能用定时器
@幻宇世: 试一下从PS那儿下手,让动图只播放一次,然后你程序这边让它循环 刚看到这个人教的ps做动图 看一下https://blog.csdn.net/kerryqpw/article/details/105799191?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-5.highlightwordscore
你可以写一个GIF图片解析器,然后把GIF解析成普通图片数组,自己不就可以控制播放次数了?这个仅仅是个思路,我并没有实现过。
不知道你用的啥语言,我刚才用 python + PS 验证了下
Pillow.Image 模块可以解析GIF ,并且帧数与PS解析的图层数是吻合的
按道理,算出一张图所有帧播放的时间,然后去控制总时长就可以达到你想要的效果
我这个是前端js
info={'version': b'GIF89a', 'background': 232, 'extension': (b'XMP DataXMP', 814),
'loop': 0, 'transparency': 232, 'duration': 50}
n_frames=82
duration 每帧的播放 50ms
n_frames 总帧数 82
@幻宇世: 你自己找下对应的资源了,也可以让后端协助以下;对应解析出来的参数贴给你了