我在4MB
上有一个包含图片的文件夹-让我们称这个文件夹为dsc_big/
。我想使用convert -define jpeg:extent=2MB
将它们转换到2MB
下,并将dsc_big/*
复制到已经存在的dsc_small/
文件夹中。
我尝试过convert dsc_big/* -define jpeg:extent=2MB dsc_small/
,但它会生成名为-0
、-1
等的图像。
我做什么好?
发布于 2012-01-03 12:38:00
据我所知,convert
被设计为只处理一个输入文件,尽管我必须承认我不理解您得到的输出。mogrify更适合于以下样式的批处理:
mogrify -path ../dsc_small -define jpeg:extent=2MB dsc_big/*
但老实说,我认为这对于一般的使用是危险的(如果你忘记了-path
,它会覆盖原始图像),所以我总是使用convert
和一个for循环来实现:
for file in dsc_big/*; do convert $file -define jpeg:extent=2MB dsc_small/`basename $file`; done
如果您正在处理当前目录中的文件,则不需要使用basename
调用。
发布于 2016-02-26 04:03:13
经过长时间的尝试,这条命令帮了我大忙。我想从一大堆不同宽度和高度的大图片中制作相同大小的缩略图。这是为了创建一个画廊页面。
convert -define jpeg:size=250x200 *.jpg -thumbnail 250x200^ -gravity center -extent 250x200 crop/thumbnail-%d.jpeg
我得到了重新调整大小的缩略图,它们都具有相同的宽度和高度。:)感谢ImageMagick。
发布于 2013-10-11 04:55:56
虽然这是一个古老的问题,但我添加这个回答是为了让任何其他偶然发现这个问题的人受益。
我也遇到了同样的问题,并且对使用mogrify
感到沮丧,于是我编写了一个名为easymagick的基于Python的小实用程序,以便在内部使用convert
命令时简化此过程。
请注意,这仍然是一项正在进行的工作。如果能得到任何形式的反馈,我将不胜感激。
https://stackoverflow.com/questions/8707694
复制相似问题