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

convert myfigure.png myfigure.jpg


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

#1 楼

相同命令,并带有附加选项:

convert myfigure.png -resize 200x100 myfigure.jpg




convert -resize 50% myfigure.png myfigure.jpg



调整多个大小文件,您可以尝试以下命令(由@ test30建议)

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


评论


您还可以使用百分比,如convert -resize 50%myfigure.png myfigure.jpg

– 1月
13年3月24日在9:48

@一月极好:)

–灵风
13年3月24日在9:56

如果要转换文件夹中的所有图像,最好的命令是什么?转换-resize 50%* .JPG是否有效? n

– Ehsan M. Kermani
2014年9月7日19:30在

将当前目录中所有图像的大小调整50%find -maxdepth 1。 -iname“ * .jpg” | xargs -l -i转换-resize 50%{} / tmp / {} src:perturb.org/display/632_ImageMagick_resize_images.html我添加了maxdepth :)

–test30
2014年12月10日21:57

发现做所有的图片了。必须在-maxdepth之前,所以应该这样:find。 -maxdepth 1 -iname“ * .JPG” | xargs -l -i convert -resize 25%{}电子邮件/ {}

–安德鲁·斯特恩(Andrew Stern)
2015年7月9日在22:58



#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中添加了两个上下文菜单项,因此您可以右键单击并选择“调整图像大小”。(另一个是“旋转图像”)。

您可以如果愿意,可以一次性创建整个图像目录,甚至不必打开应用程序即可。

评论


除此之外,是否还有其他功能更强大的CLI软件?它崩溃并可以处理大约80%的图像。

–卢卡
18-3-29在19:24



#3 楼

由于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的答案,但从技术上讲,它是通过终端全部完成的。

评论


请在此处添加示例

–詹娜♦
17年9月10日在20:20

请根据问题通过终端提供示例。

– Kenorb
17年9月10日在21:10

谢谢,我在第一个答案中假设太多。我已经对每个问题进行了修改。

–自由世界
17年9月12日在0:05

请注意,PIL仅适用于Python 2;根据pythonware.com/products/pil,计划“稍后”支持3.x

–arp
18年1月21日在16:13

对于Python 3,有Pillow-这是PIL的分支。令人困惑的是它在python3-pil包下的Debian仓库中。除此之外,还可以通过pip3软件包管理器使用。

– Sergiy Kolodyazhnyy
18/12/2在9:32

#4 楼

imgp是一个相对较新的实用程序,可以进行图像大小调整和旋转。它比nautilus-image-converter具有更多功能。

例如:

imgp -x 1366x768 *