在我目前的问题中,我有数百个动画 gif,它们会执行几次特定的动画,然后最后一次执行不同的动画。所以这意味着 gif 循环 3 次左右然后在第 4 次而不是循环它会做一个不同的动画。这些循环都只是硬编码到 .gif 文件中的层中。
我的目标是确定第一个循环并将动画缩小为十帧。我认为使用 python,我可以找到第一帧何时等于后一帧(从而找到第一个完整序列和帧数)。现在我有了动画拍摄的帧数,这个数字在我正在使用的数百个不同图像中是可变的。所以对于一个图像,第一个循环将在 20 帧左右完成,另一个可能在 25 帧内完成。有些需要 75 帧左右(因为它们是一个非常慢的图像)
我的问题是使用这些数字(20、25、75,......或任何第一个循环)我怎样才能最好地将它变成只有 10。在我的脑海中我做了一些数学运算,这是一个很好的例子我需要弄清楚如何生成
20 -> 20/10 = 2 Resulting sequence: [0, 20) step 2
25 -> 25/10 = 2.5 Sequenece: [0, 25).... Step ?? should alternate between 2 and 3 somehow
75 -> 75/10 = 7.5 Sequenece: [0, 75).... Step ?? should alternate between 7 and 8 somehow
我的解决方案可以在 bash 脚本或 python 中,也可以在 bash shell 中使用。