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