複数画像を一括でトリミングする、ということでまんまだが。初めは画像ごとに、範囲を選択していたが、やはりそれだと1pxel単位でズレが生じたり綺麗にトリミングできない。
Batch Crop Images With Imagemagick - deparkes
に書いてあるとおり。まずは、切り抜き開始する左上の座標を調べる。ここでのズレが全画像に影響するので拡大しまくって、数字を確認する。
左上(開始)座標(横・縦) | 右下(終了)座標(横・縦) | 画像の大きさ(横・縦) |
---|---|---|
196,0 | 1724,1080 | 1528,1080 |
画像の大きさ(横・縦) = 右下座標 - 左上座標
そして、
ImageMagick – Convert, Edit, or Compose Digital Imagesをsudo apt install imagemagick
なりsudo pacman -S imagemagick
でインストールする。
convert -crop WIDTHxHEIGHT+X+Y inputfile outputfile
。で切り抜ける。
convert -crop 1528x1080+196+0 '切り抜き前画像01.png' '切り抜き後画像01.png'
convert -crop 1528x1080+196+0 '切り抜き前画像02.png' '切り抜き後画像02.png'
convert -crop 1528x1080+196+0 '切り抜き前画像03.png' '切り抜き後画像03.png'
convert -crop 1528x1080+196+0 '切り抜き前画像04.png' '切り抜き後画像04.png'
convert -crop 1528x1080+196+0 '切り抜き前画像05.png' '切り抜き後画像05.png'
convert -crop 1528x1080+196+0 '切り抜き前画像06.png' '切り抜き後画像06.png'
convert -crop 1528x1080+196+0 '切り抜き前画像07.png' '切り抜き後画像07.png'
convert -crop 1528x1080+196+0 '切り抜き前画像08.png' '切り抜き後画像08.png'
convert -crop 1528x1080+196+0 '切り抜き前画像09.png' '切り抜き後画像09.png'
でOK。
左上(開始)座標(横・縦) | 右下(終了)座標(横・縦) | 画像の大きさ(横・縦) |
---|---|---|
312,0 | 1608,1080 | 1296,1080 |
の場合は、convert -crop 1296x1080+312+0 inputfile outputfile
となる。
画像フォーマットも変換する場合はmogrify -crop WIDTHxHEIGHT+X+Y -format jpg *.png
とする。
Windowsでは既にconvert
が別コマンドとして存在するので、
Windows + ImageMagick > はまり > convertコマンドを使おうとして失敗 > Windowsにもあるコマンド - Qiitaのように"C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" convert やりたいオプション
とやるようだ。
で、ローカルでimagemagick
で使う分には問題ないが、サーバー処理としては、色々気を付けるポイントがあるようだ。下記サイトを参照してもらいたい。