使用Wand和ImageMagick调整GIF大小
我正在使用Wand 0.3.7和ImageMagick 6.8.8-10来批量调整一些动图的大小。但是不知为什么,Wand只调整了图像中的一帧,其他帧的大小保持不变。
这是我想要调整大小的原始图像:
这是Wand处理后的输出:
如果我直接在命令行中使用ImageMagick(按照这里的说明),动图会被正确地调整大小,效果如预期:
这是我目前调整图像大小的方法:
with Image(filename="src.gif") as img:
img.resize(50, 50)
img.save("dest.gif")
我也尝试过逐帧处理,每一帧单独调整大小:
with Image(filename="src.gif") as img:
for frame in img.sequence:
frame.resize(50, 50)
frame.destroy()
img.save("dest.gif")
但这两种方法的结果都是一样的,都是上面看到的效果。我到底哪里做错了呢?
1 个回答
0
你可以试着打开一个新的目标 Image
,然后把每一帧都放进去:
with Image() as dst_image:
with Image(filename=src_path) as src_image:
for frame in src_image.sequence:
frame.resize(x, y)
dst_image.sequence.append(frame)
dst_image.save(filename=dst_path)
这样对我有效。