首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ImageMagick中使用输入文件名?

如何在ImageMagick中使用输入文件名?
EN

Stack Overflow用户
提问于 2020-04-03 23:07:56
回答 2查看 50关注 0票数 1

根据ImageMagick文档,我希望是这样:

代码语言:javascript
复制
convert fountain-pen1.jpg fountain-pen2.jpg handwriting.jpg  -resize 400x400\>  -set filename:f '%t_smol.%e' '%[filename:f]'

以产生fountain-pen1_smol.jpg fountain-pen2_smol.jpg handwriting_smol.jpg

相反,它只创建fountain-pen1_smol.jpg

我在这里做错了什么?

我也尝试过只使用*.jpg,它会产生相同的输出。

代码语言:javascript
复制
convert -version 
Version: ImageMagick 6.9.7-4 Q16 arm 20170114 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP 
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-03 23:57:18

嗯..。有时您需要使用+adjoin给ImageMagick一个提示,让它创建比预期更多的输出文件

代码语言:javascript
复制
convert fountain-pen1.jpg fountain-pen2.jpg handwriting.jpg  -resize 400x400\>  -set filename:f '%t_smol.%e' +adjoin '%[filename:f]'

如果你在文件名中添加了%02d或类似的东西,它就会猜测到这一点,但不知道你的用例是什么。

票数 1
EN

Stack Overflow用户

发布于 2020-04-03 23:51:56

对于ImageMagick,您通常需要在读取图像后立即设置"filename:“变量。试试这个。

代码语言:javascript
复制
convert img1.jpg img2.jpg img3.jpg \
   -set filename:f "%[t]_smol.%[e]" -resize 400x400\> "%[filename:f]"

它读取图像,立即设置这些输出文件名,然后执行大小调整操作,然后使用给定的名称写入输出文件。请注意,更改命令中列表的顺序或图像数量可能会产生意外的结果。

我已经在bash的IM 6.8.9中成功地使用了这个命令。它在Windows6.9和7.0版本中工作,将连续行反斜杠"\“改为插入符号"^",删除反斜杠并将调整大小的"400x400>”放在双引号内。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61014862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档