如何防止 imagemagick 的 convert 命令缩放图像?

如何防止 imagemagick 的 convert 命令缩放图像?

我正在尝试用动画 gif 制作精灵表。精灵用于我的 GPS,每帧必须正好是 80x80 像素。

我使用了这个命令:

convert -resize 80x80 input.gif  g.png

它将为您提供 N 个 gif 帧,枚举形式为:gN.png。

使用 gimp 的强大功能后,我发现图像在某些时候被缩放了,而这正是我所不希望的。附图中显示的是一个 80x80px 部分,其中下一个精灵覆盖了应该只是第一个精灵的区域。

我的脚本的下一行是:

convert +append g-*.png $outputFile

这可能与此有关...我不确定。

精灵为 80x80px。

完整脚本源代码:

#!/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

我的输出现在符合布局要求: 在此处输入图片描述

相关内容