【问题标题】:Resizing GIFs with Wand + ImageMagick使用 Wand + ImageMagick 调整 GIF 大小
【发布时间】:2014-05-25 19:40:14
【问题描述】:

我正在使用 Wand 0.3.7ImageMagick 6.8.8-10 来批量调整我拥有的一些动画 GIF 文件的大小。但是由于某种原因,Wand 只调整了图像中一帧的大小,而将其他帧保留为原始大小。

这是我要调整大小的原始图像:

这是 Wand 的输出:

如果我直接从命令行使用 ImageMagick(按照 here 的说明),则 GIF 会按预期正确调整大小:

这是我当前调整图像大小的方式:

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")

两者都产生与上面相同的结果。我做错了什么?

【问题讨论】:

标签: python image-processing animated-gif


【解决方案1】:

您可以尝试打开一个新目标 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)

为我工作。

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 2012-04-16
    • 2013-08-28
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多