Ubuntu 10.04があります。次のコマンドを使用して、ターミナルで画像を変換しました。
convert myfigure.png myfigure.jpg
しかし、変換された画像の高さと幅のサイズを変更したいです。これを行う方法はありますか?
追加のオプションを指定した同じコマンド:
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/"{}"
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つは[画像の回転]です)。
必要に応じて、画像のディレクトリ全体を一度に実行でき、そのためにアプリケーションを開く必要さえありません。
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の回答に近いものですが、技術的にはターミナルを介してすべて行われます。
imgp は、イメージのサイズ変更と回転を行う比較的新しいユーティリティです。 nautilus-image-converterよりも多くの機能があります。
例えば:
imgp -x 1366x768 *