如何透過終端調整影像大小?

如何透過終端調整影像大小?

我有 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 腳本來實現此目的,並對所發生的情況進行更多控制 - 請參閱這個堆疊溢位有關範例腳本的問題。這些範例僅使用標準庫。

腳本#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 答案,但從技術上講,它是透過終端機完成的。

相關內容