我有1000多张不同分辨率的图片(例如1234x2122、4400x5212等),我希望将它们全部转换为固定的100x100大小。
首先,我需要保持比例调整图像大小,获得100xA或Ax100的尺寸,其中A>100(这取决于图像的宽度和高度,对于某些图像,宽度>高度,而对于一些图像,高度>宽度)。
从中心裁剪此图像以达到100x100的大小。
是否有一个简单的“convert”命令,可以用于处理我所有的图片?
我有1000多张不同分辨率的图片(例如1234x2122、4400x5212等),我希望将它们全部转换为固定的100x100大小。
首先,我需要保持比例调整图像大小,获得100xA或Ax100的尺寸,其中A>100(这取决于图像的宽度和高度,对于某些图像,宽度>高度,而对于一些图像,高度>宽度)。
从中心裁剪此图像以达到100x100的大小。
是否有一个简单的“convert”命令,可以用于处理我所有的图片?
使用-resize
操作的几何调整器中的^
(area-fill)可以统一缩小图片。要裁剪中心,请使用-extent
和-gravity Center
。
convert input.jpg -resize 100x100^ \
-gravity Center \
-extent 100x100 \
output.jpg
更新
正如Mark Setchell在评论中指出的那样,可以利用mogrify
实用程序批量转换项目。
mogrify -path ./path/to/write/results/ \
-resize 100x100^ \
-gravity Center \
-extent 100x100 \
./path/to/source/files/*
提醒: 如果不设置
-path
参数,Mogrify 将覆盖原始文件并用结果图像进行替换。
mogrify
命令。 - Mark Setchellconvert input.png -resize 100x100^ -gravity Center -background transparent -extent 100x100 output.png
- tukusejssirsconvert input.jpg -resize 100x100^ \
-gravity Center \
-crop 100x100+0+0 +repage \
output.jpg
如果你想要的话,可以选择从一侧裁剪更多内容。