使用するのは,お馴染みの convert コマンド.
$ convert -crop 256x128+64+32 input.png output.png |
上の例では,左から 64px,上から 32pxの位置から 256 x 128px の画像をトリミングします.
また入力ファイルと出力ファイルに同じファイル名を指定した場合,上書きされます.
大量に扱う場合は for と合わせて,
$for i in *.png >do > convert -crop 256x128+64+32 ${i} ${i%.png}_2.png >done |
とすれば,**.png ファイルが全て 256 x 128px でトリミングされて **_2.png として保存されます.
この方法,どんなときに活躍するかと言えば,ずばりスマホでスクリーンショットを撮ったときです.
(余談ですが,私はスクショを撮る度に Dropbox にアップロードするように設定しています.)
左の画像(トリミング前)は,上下にそれぞれ無駄なものがが表示されていますが,
$ convert -crop 1080x1701+0+75 input.png output.png |
としてやれば,必要かつ十分な情報量の右の画像(トリミング後)が得られます.
ちなみに,identify コマンドでそれぞれの画像の情報を見ると,output.png にはしっかりとトリミングした形跡が残っています.
input.png
PNG 1080x1920 1080x1920+0+0 8-bit DirectClass 152KB 0.000u 0:00.000 |
output.png
PNG 1080x1701 1080x1920+0+75 8-bit DirectClass 133KB 0.000u 0:00.000 |
大量のスクリーンショットを撮って,ブログの記事にする場合などに重宝すると思います.
0 件のコメント:
コメントを投稿