osh*_*nen 7 linux command-line imagemagick image-manipulation
我有一组混合图像,每个图像的分辨率略有不同,纵横比与其他图像略有不同。
我尝试使用以下命令:
convert -resize
Run Code Online (Sandbox Code Playgroud)
和:
convert -crop
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法找出正确的命令来使所有图像的宽度为 1024,纵横比为 6x4,而不会导致图像拉伸或被压扁。
请注意,1024 不能被 3 整除,因此您无法获得精确的 6x4 宽高比。我将其近似为 1024x682。
你想要的命令是
convert in.jpg -resize '1024x682^' -gravity Center -crop 1024x682+0+0 out.jpg
Run Code Online (Sandbox Code Playgroud)
-resize '1024x682^'缩放图像,同时保留纵横比,以便:
在不改变纵横比的情况下只能实现这些标准之一(除非图像已经是 6x4)。
-gravity Center -crop 1024x682+0+0剪切以图像中心为中心的 1024x682 区域。-gravity您可以根据您想要的图像裁剪方式使用不同的方法。
您还可以包含一个-filter选项来控制用于调整图像大小的算法。