web-dev-qa-db-ja.com

端末を介して画像のサイズを変更する方法は?

Ubuntu 10.04があります。次のコマンドを使用して、ターミナルで画像を変換しました。

convert myfigure.png myfigure.jpg

しかし、変換された画像の高さと幅のサイズを変更したいです。これを行う方法はありますか?

147

追加のオプションを指定した同じコマンド:

convert myfigure.png -resize 200x100 myfigure.jpg

または

convert -resize 50% myfigure.png myfigure.jpg

複数のファイルのサイズを変更するには、次のコマンドを試してください( @ test で提案されているとおり)

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

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に2つのコンテキストメニュー項目が追加され、右クリックして[画像のサイズ変更]を選択できます(もう1つは[画像の回転]です)。

必要に応じて、画像のディレクトリ全体を一度に実行でき、そのためにアプリケーションを開く必要さえありません。

44
Maythux

UbuntuにはPythonが付属しているため、Pythonスクリプトを使用して、何が起こるかをもう少し制御してこれを実現することもできます。スクリプトの例については this 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

これらのコードブロックの1つをテキストエディターに貼り付けます。 Ctrl + xで終了します(変更を保存するにはyesと言います)。

スクリプト#1を使用するには:

python resizescript.py yourfilenamehere.jpg

スクリプト#2を使用するには:

python resizescript.py yourfilenamehere.jpg

これらのスクリプトの両方の画像ファイルと同じディレクトリにいる必要があります。最初のものは、画像を128x128ピクセルに縮小します。 2番目のスクリプトは、幅を300ピクセルにし、比例した高さを計算します。これはPythonの回答に近いものですが、技術的にはターミナルを介してすべて行われます。

3
freeworld

imgp は、イメージのサイズ変更と回転を行う比較的新しいユーティリティです。 nautilus-image-converterよりも多くの機能があります。

例えば:

imgp -x 1366x768 *
1