web-dev-qa-db-ja.com

Ubuntu用の画像サイズ変更ツール

私は約500画像を持っており、それぞれを6つの異なるサイズにサイズ変更する必要があります。スクリプトやソフトウェアはありますか。さらに、私のプラットフォームはbuntです。

11
ArK

ImageMagick を使用してみてください。まず、インストールします。

$ Sudo apt-get install imagemagick

次に、小さなbashスクリプトを作成して、6つのサイズに変換できます。

#!/bin/bash

# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"

# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}

find $DIR -type f | while read file; do
   for size in $SIZES; do
      # Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
      # Remove the ! after $size if you do not wish to force the format
      convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
   done
done

スクリプトを次のように保存します。 convert.sh、および実行:

chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default

編集:サイズ変更時にファイルを上書きしないようにスクリプトを編集しましたが、名前をたとえば次のように変更しました。 DSC01258_640x480.JPGで、ファイルの名前が実際に変更されているため、 mogrify の代わりにconvertを使用します。また、変数を少しサニタイズしましたが、問題はありません。

スクリプトをpngファイルでテストしたところ、正常に機能しました。 ImageMagickでサポートされているすべての種類の画像形式で機能するはずです。

$ file wave_bible_bot/*
  wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced

$ ./resize.sh wave_bible_bot/

$ file wave_bible_bot/*
  wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot1.png:          PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot2.png:          PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_640x480.png:  PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3_800x600.png:  PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
  wave_bible_bot/wave_bible_bot3.png:          PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
14
ℝaphink

Sathyaが述べたようにImageMagickをインストールする場合、nautilus-image-converterと呼ばれるサイズ変更を簡単にするための素晴らしいGUIフロントエンドがあります。

それをインストールするには:

Sudo apt-get install nautilus-image-converter

Nautilusを再起動します(またはログアウトしてから再度ログインします)。次に示すように、コンテキストメニューに[画像のサイズ変更]と[画像の回転]が追加されます。

alt text

サイズを変更するすべての画像を強調表示して右クリックし、画像のサイズ変更を選択すると、次のインターフェイスが表示されます。

alt text

[追加]オプションを使用して、サイズ変更した画像にカスタム名を追加します。 1024x768などのサイズを追加することをお勧めします[〜#〜]または[〜#〜]異なるフォルダに画像のコピーを6つ作成してから、画像のサイズを変更するplace各フォルダの画像にオプションを追加して、サイズの異なる新しい画像で画像を上書きします。 画像のサイズを変更します選択した画像は常に上書きされるため、選択する内容に注意してください。

10
John T

ImageMagickを使用できます:最初にImageMagickをインストールします

Sudo apt-get install imagemagick

次に、画像がある場所にCDを挿入します。

cd /path/to/where/images/are/stored

次に、Imagesizeに応じてディレクトリを作成します

mkdir /path/to/where/images/are/stored/size

変換したいディレクトリに画像をコピーします

cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size

次に、ディレクトリを他のディレクトリに変更します

cp /path/to/where/images/are/stored/size

次に、ImageMagickライブラリが提供するmogrifyというツールを使用してサイズを変更します

mogrify -resize 640×480! *.jpg

これにより、すべてのサイズが640*480に変更され、!はアスペクト比を強制するように指示します。

私はBashスクリプトを知らないので、それほど自動化されていません。

6
Sathyajith Bhat

mogrifyのマニュアルには、実際には convert tool への参照がいくつかあるはずです。 ...私は約45分を検索しましたが、別の投稿に出くわして初めて正しい方向を見始めることができました。

他の人の利益のために、この行は私が必要としていたことを正確に実行しました。 (同じディレクトリにある)約50の2megから3megのJPGを取り、それらをすべて80から120kbに落としました。そしてもちろん、それは彼らの名前のすべてを「正確に」同じままにしました。

mogrify *.jpg -quality 75 -resize "640x480>" *

そして、また他の人の利益のために:

  • *.jpg...ディレクトリ内のすべてのJPGに対してmogrifyコマンドを実行します。

  • -quality 75 ... jpgの品質を75%に下げます。これは、オンラインでの表示に十分です。

  • -resize "640x480>" ...すべての画像のサイズが640x480に変更されます(最後に「>」があることに注意してください。これにより、画像は小さくなりますが、大きくはなりません。..引用符を忘れないでください。これらは重要です。

  • *...そしてコマンドの最後でこれを忘れないでください。

2
tg3793

Gimpにはバッチモードが付属しています。 GIMPバッチモード を参照してください。

1
lakshman

Phatchをお勧めします。そのGUIは、imagemagickやnautilusが提供するものよりもはるかに柔軟性があり、スクリプトを作成する必要がある場合は、コマンドラインインターフェイスも備えています。あなたはそれをインストールすることができます

Sudo apt-get install phatch
1
Kim

使いやすいツールを作成しました: 画像のサイズ変更 。舞台裏でimagemagickを使用しています。インストールすると、Linuxデスクトップにアイコンが作成されます。 1つまたは複数の画像、またはその上にある画像のフォルダをドラッグアンドドロップすると、各画像のサイズが変更されたコピーが作成されます。デスクトップアイコンを右クリックすると、必要なサイズを簡単に変更できます。

0
Tabish

コマンドラインツールではなくGUIをお探しの場合は、BIRをご覧ください: https://github.com/agronick/BIR

enter image description here

0
Victor Lamoine