【发布时间】:2019-10-20 08:58:06
【问题描述】:
我有一个图像文件“image.png”,我想用它创建一个 .gif 图像。 我编写了一个小脚本来获取该图像的 100 个不同大小(1% - 100%)的图像,然后我从包含文件夹中删除了原始图像(image.png),并使用此命令生成我的 gif 图像想要:
convert -delay 10 -loop 0 *.png image.gif
当我检查 gif 图像时,我可以看到最大的图像(100% 大小)作为静止图像(在我眼中),而较小的图像开始显示在图像的左上角,从 1% - 100%,100% 的图像与始终显示的原始图片一致。 我希望在我使用的图像软件 (gthumb) 中看到图像从矩形/正方形的中心变大,这不是我得到的?
我检查了较小的图像,它们很好,我还高速运行了图像的幻灯片放映,并向我展示了我希望在我的 gif 文件中包含的内容。我使用 Linux。
更新 1: 这是我在“Mark Setchell”回复之前用来生成 100 张图像的脚本:
#!/bin/bash
for i in {1..100};
do
if [ $i -lt 10 ]; then
convert -resize $i% lena.png 00$i.png
elif [ $i -lt 100 ]; then
convert -resize $i% lena.png 0$i.png
else
convert -resize $i% lena.png $i.png
fi
done
它产生了 100 张图像。 然后根据“Mark Setchell”的回复,我使用了以下代码:
for ((i=0;i<100;i++)) ; do
convert checked-box.png -resize $i% -background none -gravity center -extent 512x512 miff:-
done | convert miff:- -delay 80 anim.gif
更新 2:
我编辑了以下命令来更改输入文件名。
for ((i=0;i<100;i++)) ; do
convert lena.png -resize $i% -background none -gravity center -extent 512x512 miff:-
done | convert miff:- -delay 80 anim.gif
【问题讨论】:
-
尝试将生成 100 张图片的脚本更改为
convert input.png ...as before... +repage -gravity center -background none -extent WIDTHxHEIGHT frame-00N.png,其中 WIDTH 和 HEIGHT 是最终 GIF 图像的大小。 -
convert checked-box.png +repage -gravity center -background none -extent 256x256 frame-100.png生成单个 png 文件 (frame-100.png) -
请编辑您的问题并展示您是如何生成 100 张图片的。
-
我使用了我写的以下脚本:
#!/bin/bash for i in {1..100}; do if [ $i -lt 10 ]; then convert -resize $i% checked-box.png 00$i.png elif [ $i -lt 100 ]; then convert -resize $i% checked-box.png 0$i.png else convert -resize $i% checked-box.png $i.png fi done -
我不明白为什么当我的命令已经自己生成它们时,你又生成了 100 张图像?我也不明白为什么你说你使用
lena时使用名为checked_box的图像作为输入?
标签: bash image-processing imagemagick gif animated-gif