Я пытаюсь сделать листы спрайта из анимированного gifs. Спрайты для моего GPS, и каждый кадр должен быть точно 80x80 пикселей.
Я использовал эту команду:
convert -resize 80x80 input.gif g.png
который даст Вам количество N кадров gif, перечисленного как: g-N.png.
Что я понял, что использование питания калеки состоит в том, что изображения масштабировались в какой-то момент, который является тем, что я не хочу. Показанный в приложенном изображении, раздел на 80x80 пкс, где следующий законченный спрайт кладет область, которая, как предполагается, только является первым спрайтом.
Очень следующая строка в моем сценарии:
convert +append g-*.png $outputFile
который может иметь список в этом... Я не уверен.
Полный исходный код сценария:
#!/bin/bash
#set -vx
# Takes an image via an argument, converts it to the sprite style my gps takes.
# PNG image must be exactly 2880x150 or 2881x160 pixels in size. individual sprites, ar 80x80 px
mkdir -p test2
rm test2/*.png
n=`identify -format "%n\n" $1 | head -1`
m=`expr $n / 2`
outputFile=out`date +%s`.png
#outputFile=out.png
echo "N: " + $n
echo "M: " + $m
convert -resize 80x80 $1 test2/g.png
convert +append test2/g-*.png $outputFile
#convert -resize 2880x150 $outputFile
#montage test2/g-$m.png $outputFile
Хорошо, я думаю, что получил его Благодаря этому сообщению Exchange стека Unix & Linux, и читающий о функции расширения на веб-сайте imagemagick.
Все мои фоны прозрачны, так, чтобы танцующая девочка в этом случае, не покрывал карту. Расширитесь Прямая Корректировка Размера изображения, где дополнительное пространство заполнено цветом или прозрачностью, и избыток является усеченным.
Я изменил первую команду преобразования на:
convert -background none -extent 80x80 $1 test2/g.png