将图片转换为GIF

0 投票
1 回答
1414 浏览
提问于 2025-04-18 08:20

我正在尝试把一系列JPG图片转换成一个动画GIF。我使用了一个叫做images2gif.py的Python脚本(https://pypi.python.org/pypi/images2gif/1.0.1),效果很好。但是我不知道怎么让这个GIF只播放一次。我可以设置loops=1,这样它会播放两次(也就是1个循环),或者设置为0,这样就会无限循环。有没有什么建议?

1 个回答

3

编辑:刚刚注意到@Jongware在评论中已经先说了这个。

源代码显示了以下内容:

if loops==0 or loops==float('inf'):
    loops = 2**16-1
    #bb = "" # application extension should not be used
            # (the extension interprets zero loops
            # to mean an infinite number of loops)
            # Mmm, does not seem to work
if True:
    bb = "\x21\xFF\x0B"  # application extension
    bb += "NETSCAPE2.0"
    bb += "\x03\x01"
    bb += intToBin(loops)
    bb += '\x00'  # end
return bb

正如你所看到的,应用扩展总是会被添加。从扩展的规范来看:

第17到18字节:0到65535,一个无符号整数,采用低字节在前的格式。这表示循环应该执行的次数。

简单来说,任何值都会重复播放多次。看起来避免这种情况的方法是省略扩展本身。

if loops != 1:
    bb = "\x21\xFF\x0B"  # application extension
    ...

撰写回答