如何通过终端调整图像大小?

如何通过终端调整图像大小?

我有 Ubuntu 10.04。我使用以下命令通过终端转换图像:

convert myfigure.png myfigure.jpg

但我想调整转换后图像的高度和宽度。有什么办法吗?

答案1

相同的命令,但有一个额外的选项:

convert myfigure.png -resize 200x100 myfigure.jpg

或者

convert -resize 50% myfigure.png myfigure.jpg

要调整多个文件的大小,您可以尝试以下命令(按照建议@测试30

find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"

答案2

如果你只想要 CLI:

sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png 
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg

如果你想尝试 GUI:

安装nautilus-image-converter

sudo apt-get install nautilus-image-converter

它在 nautlius 中添加了两个上下文菜单项,以便您可以右键单击并选择“调整图像大小”。(另一个是“旋转图像”)。

如果愿意,您可以一次性处理整个图像目录,甚至无需打开应用程序即可执行此操作。

答案3

图片是一款相对较新的工具,可以调整图像大小和旋转图像。它比 nautilus-image-converter 功能更多。

例如:

imgp -x 1366x768 *

答案4

由于 Ubuntu 附带了 Python,因此你也可以使用 Python 脚本来实现这一点,并对发生的事情有更多的控制 - 请参阅这个stackoverflow示例脚本的问题。这些示例仅使用标准库。

脚本#1

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.ANTIALIAS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile

另一个例子是您只需指定宽度(作为宽度变量):

脚本#2

from PIL import Image
import sys

filename = sys.argv[1:]
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save(filename) 

现在,如何通过终端做到这一点......

sudo nano resizescript.py

将其中一个代码块粘贴到文本编辑器中。按 Ctrl+x 退出(选择“是”保存更改)。

使用脚本#1:

python resizescript.py yourfilenamehere.jpg

使用脚本#2:

python resizescript.py yourfilenamehere.jpg

您必须与这两个脚本的图片文件位于同一目录中。第一个脚本将图像缩小到 128x128 像素。第二个脚本将其宽度设为 300 像素并计算比例高度。这更像是 Python 答案,但从技术上讲,它是通过终端完成的。

相关内容