我有 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 腳本來實現此目的,並對所發生的情況進行更多控制 - 請參閱這個堆疊溢位有關範例腳本的問題。這些範例僅使用標準庫。
腳本#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 答案,但從技術上講,它是透過終端機完成的。