使用 bash 将 .png 转换为 .gif 时出现巨大的空白
Huge whitespace appearing when converting .png to .gif with bash convert
我有一个名为 "plots_for_gifs" 的目录,其中包含 105 个文件,除了以 ...000.png、...001.png ... 结尾外,它们的名称完全相同。等直到...104.png。我正在尝试使用以下方法将它们转换为 .gif:
convert -density 150 -trim -delay 35 -loop 0 ./plots_for_gifs/*.png ./river_diff.gif
图像文件是 491x411 像素,但是生成的 gif 是 7017x4958 像素!即使我包括“-trim”,即使我添加“-size 491x411”也会发生同样的事情......有什么想法吗?
我是 运行 这个 bash shell Ubuntu 16.04.3.
嗯嗯....有几件事。
对于 PNG
文件,您根本不需要 -density
,因为它仅设置栅格化矢量文件(例如 SVG
)时要使用的密度。所以,你可以省略它。
如果像您所说的那样,您的图片尺寸已经正确,则不需要 -trim
。所以,你也可以省略它。
您不需要在文件名前加上 ./
前缀,因为这仅表示 "the current directory" 无论如何这是默认设置,因此您可以省略它.
现在进入实际问题。我猜你的 PNG 文件是从一些较大的图像中裁剪出来的,并且具有 "remembered" 之前的 canvas 大小。让他们忘记的最好方法是在加载它们后使用 +repage
。
因此,在没有看到您的文件的情况下,我怀疑您想要更像这样的东西:
convert -delay 35 -loop 0 plots_for_gifs/*.png +repage river_diff.gif
如果您发现确实需要-trim
,请将其添加到上述命令之前 +repage
.
如果这不起作用,请 运行 以下命令并将输出粘贴到您的原始问题中 - 单击其下方的 edit
:
identify plots_for_gifs/*000.png
我有一个名为 "plots_for_gifs" 的目录,其中包含 105 个文件,除了以 ...000.png、...001.png ... 结尾外,它们的名称完全相同。等直到...104.png。我正在尝试使用以下方法将它们转换为 .gif:
convert -density 150 -trim -delay 35 -loop 0 ./plots_for_gifs/*.png ./river_diff.gif
图像文件是 491x411 像素,但是生成的 gif 是 7017x4958 像素!即使我包括“-trim”,即使我添加“-size 491x411”也会发生同样的事情......有什么想法吗?
我是 运行 这个 bash shell Ubuntu 16.04.3.
嗯嗯....有几件事。
对于 PNG
文件,您根本不需要 -density
,因为它仅设置栅格化矢量文件(例如 SVG
)时要使用的密度。所以,你可以省略它。
如果像您所说的那样,您的图片尺寸已经正确,则不需要 -trim
。所以,你也可以省略它。
您不需要在文件名前加上 ./
前缀,因为这仅表示 "the current directory" 无论如何这是默认设置,因此您可以省略它.
现在进入实际问题。我猜你的 PNG 文件是从一些较大的图像中裁剪出来的,并且具有 "remembered" 之前的 canvas 大小。让他们忘记的最好方法是在加载它们后使用 +repage
。
因此,在没有看到您的文件的情况下,我怀疑您想要更像这样的东西:
convert -delay 35 -loop 0 plots_for_gifs/*.png +repage river_diff.gif
如果您发现确实需要-trim
,请将其添加到上述命令之前 +repage
.
如果这不起作用,请 运行 以下命令并将输出粘贴到您的原始问题中 - 单击其下方的 edit
:
identify plots_for_gifs/*000.png