我想批量转换/循环遍历文件夹“ / input”中的所有图像,然后优化所有图像,最后将它们输出到文件夹“ / output”中。
我该怎么做类似的事情:
convert /Users/james/Desktop/image-magick/santorini.jpg -sampling-factor 4:2:0 -strip -quality 75 -resize 700x466! -interlace JPEG -colorspace RGB -background white -flatten /Users/james/Desktop/image-magick/final/santorini-opt.jpg
^目前,使用上述脚本,我必须为每个图像手动运行一次,一次!
如何使用Shell脚本为我批量完成所有操作?
最佳答案
先前的答案几乎是正确的。也请先使用-strip,然后再进行其他任何设置,否则它们将丢失。除非您想要更深的线性RGB颜色空间,否则ImageMagick的当前版本也使用-colorspace sRGB。以下内容具有适当的ImageMagick语法,可进行剥离,转换为sRGB,调整大小,然后设置所有jpg输出设置。
cd path2/inputdirectory
mogrify -strip -colorspace sRGB -resize "700x466!" -background white -flatten -interlace JPEG -sampling-factor 4:2:0 -quality 75 -path /Users/james/Desktop/image-magick/final/ *.jpg
请注意,JPG不支持透明性,因此我不确定为什么在命令中使用-background white -flatten。如果您输入的是png(即* .png或仅*以处理所有格式),那将是适当的
关于javascript - 批量转换ImageMagick的Shell脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48789920/