我遵循了这个示例http://cubiq.org/create-fixed-size-thumbnails-with-imagemagick,这正是我想要对图像做的事情,除了保留剩余的背景(即白色边框)。有没有办法做到这一点,并可能裁剪出白色背景?有没有其他方法可以做到这一点?重新调整大小需要成比例,所以我不想只设置宽度重新调整大小限制或高度限制,而是按比例重新调整图像大小。
发布于 2012-09-15 17:29:59
您链接到的示例使用以下命令:
mogrify \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg首先,mogrify有点危险。它以内联方式操作原始文件,并覆盖原始文件。如果出了问题,你已经丢失了你的原件,并且被错误的结果卡住了。然而,在您的例子中,-path thumbs减轻了这种危险,因为它确保结果将被写入子目录thumbs
另一个ImageMagick命令convert可以保留原始文件并执行与mogrify相同的操作:
convert \
input.jpg \
-resize 80x80 \
-background white \
-gravity center \
-extent 80x80 \
-quality 75 \
thumbs/output.jpg如果想要相同的结果,而不是白色画布扩展(最初添加的目的是使结果成为一个正方形的80x80图像),只需省略-extent 80x80参数( -background white和gravity center也是多余的):
convert \
input.jpg \
-resize 80x80 \
-quality 75 \
thumbs/output.jpg或
mogrify \
-resize 80x80 \
-format jpg \
-quality 75 \
-path thumbs \
*.jpg发布于 2014-05-22 05:44:02
我知道这是一个旧线程,但是通过使用带有-set标志的-write标志,可以在不覆盖原始文件的情况下写入同一目录中的文件:
mogrify -resize 80x80 \
-set filename:name "%t_small.%e" \
-write "%[filename:name]" \
*.jpg如http://imagemagick.org/script/escape.php所示,%t是不带扩展名的文件名,%e是扩展名。因此,image.jpg的输出将是一个缩略图image_small.jpg。
发布于 2015-01-13 18:45:45
这是我每次想批量调整大小到1920x并保持纵横比时使用的命令。
mogrify -path .-resize 1920x1920 -format "_resized.jpg“-quality 70 *.jpg
https://stackoverflow.com/questions/12433300
复制相似问题