调整在Ubuntu中大于X的图像的大小

Ada*_*cot 3 scripting ubuntu image-processing ubuntu-server

在我的Ubuntu服务器中,我有一个特定的目录,其中包含大量图像,如果它们大于2000像素,同时又要保持其宽高比,则希望将其调整为2000px的宽度,但是如果图像的宽度小于2000px,则应将其调整为2000px维持不变。

我想编辑原始图像而不复制,并且我的服务器上未安装GUI。

Fil*_*erg 5

您可能要使用ImageMagick。它没有包含在Ubuntu和许多其他Linux发行版的默认安装中,因此您必须首先安装它。使用以下命令:

sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)

您可以指定宽度(或高度),ImageMagick将在保留高宽比的同时为您调整图像的大小。

以下命令将图像的大小调整为2000的宽度:

convert example.png -resize 2000 example.png
Run Code Online (Sandbox Code Playgroud)

还有一个选项,使它仅缩小图像以适合给定的大小。它不会放大较小的图像。这是'>'调整大小选项。考虑一下,它仅将调整大小应用于“大于”给定大小的图像,语法可能有点违反直觉。

convert example.png -resize 2000\>  example.png
Run Code Online (Sandbox Code Playgroud)

您可以使用bash将该命令应用于所有图像,

for file in *.png; do convert $file -resize 2000\> $file; done
Run Code Online (Sandbox Code Playgroud)