私は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 に 2 つのコンテキスト メニュー項目が追加され、右クリックして「画像のサイズ変更」を選択できるようになります (もう 1 つは「画像の回転」です)。
必要に応じて、画像のディレクトリ全体を一度に実行することができ、そのためにアプリケーションを開く必要さえありません。
答え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
幅のみを指定する必要がある別の例 (width 変数として) は次のとおりです。
スクリプト #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 を押して終了します (変更を保存するには [はい] を押します)。
スクリプト #1 を使用するには:
python resizescript.py yourfilenamehere.jpg
スクリプト #2 を使用するには:
python resizescript.py yourfilenamehere.jpg
これら 2 つのスクリプトを実行するには、画像ファイルと同じディレクトリにいる必要があります。最初のスクリプトは、画像を 128 x 128 ピクセルに縮小します。2 番目のスクリプトは、画像を 300 ピクセルの幅にし、比例した高さを計算します。これは Python による回答ですが、技術的にはすべてターミナルを通じて実行されます。