我正在尝试在python中使用抽奖框架制作动画。我制作的脚本只能显示一张图像。我不知道如何在python的抽奖框架中为图像序列设置动画。任何帮助将不胜感激。
from lottie.utils import script
from lottie import objects
from lottie import Point, Color
import os
image_filename1 = os.path.dirname(os.path.realpath(__file__))+'/images1/pngImages'+'/'+'2020-05-01'+"_new.png"
last_frame = 60
an = objects.Animation(last_frame, 1)
an.width = 720
an.height = 360
image1 = objects.assets.Image().load(image_filename1)
an.assets.append(image1)
an.add_layer(objects.ImageLayer(image1.id))
script.script_main(an, path="/Users/ihasan/", basename='sample2', formats=['html'])
答案 0 :(得分:0)
在搜索lottie-python示例脚本here之后,我找到了一种对图像序列进行动画处理的方法。我在这里共享的代码由两个图像组成。可以使用带有更多图像的循环进行简化。
from lottie.utils import script
from lottie import objects
from lottie import Point, Color
import os
image_filename1 = "/../" # image1 directory
image_filename2 = "/../" # image2 directory
image1 = objects.assets.Image().load(image_filename1)
image2 = objects.assets.Image().load(image_filename2)
lastFrame = 60
an = objects.Animation(lastFrame)
an.width = 720
an.height = 360
an.assets.append(image1)
an.assets.append(image2)
precomp = objects.Precomp("myid", an)
layer1 = objects.ImageLayer(image1.id)
layer1.out_point = 20
precomp.add_layer(layer1)
pcl0 = an.add_layer(objects.PreCompLayer("myid"))
pcl0.width = 720
pcl0.height = 360
pcl0.start_time = 0
layer2 = objects.ImageLayer(image2.id)
layer2.out_point = 40
precomp.add_layer(layer2)
pcl1 = an.add_layer(objects.PreCompLayer("myid"))
pcl1.start_time = 20
pcl1.width = 720
pcl0.height = 360
script.script_main(an, path="../../", basename='samplePrecomp', formats=['json'])