我正在尝试用动画 gif 制作精灵表。精灵用于我的 GPS,每帧必须正好是 80x80 像素。
我使用了这个命令:
convert -resize 80x80 input.gif g.png
它将为您提供 N 个 gif 帧,枚举形式为:gN.png。
使用 gimp 的强大功能后,我发现图像在某些时候被缩放了,而这正是我所不希望的。附图中显示的是一个 80x80px 部分,其中下一个精灵覆盖了应该只是第一个精灵的区域。
我的脚本的下一行是:
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
答案1
好的,我想我明白了,多亏了这个Unix 和 Linux stack Exchange 帖子,并阅读关于imagemagick 网站上的扩展功能。
我所有的背景都是透明的,这样跳舞的女孩就不会遮住地图。扩展是一种直接图像大小调整,其中多余的空间用颜色或透明度填充,多余的部分被截断。
我将第一个转换命令更改为:
convert -background none -extent 80x80 $1 test2/g.png