画像変換をいろいろやってくれるコマンド/ライブラリ。
サイズは%のほかピクセル単位で指定できる。
1280x720
だと、横1280px×縦720pxの 中に収まる最大の大きさにアスペクト比を保って 拡大縮小する。
1280x720^
だと、横1280px×縦720pxの 範囲を埋め尽くす最小の大きさにアスペクト比を保って 拡大縮小する。
1280x720\>
だと、横1280px×縦720pxの 中に収まる最大の大きさにアスペクト比を保って 縮小する(それよりも小さい画像の場合は拡大しない)。
1280x720\<
だと、横1280px×縦720pxの 中に収まる最大の大きさに(?)アスペクト比を保って 拡大する(それよりも大きい画像の場合は縮小しない)。
1280x720\!
だと、横1280px×縦720pxにアスペクト比を無視して拡大縮小する。
ドット絵をドット絵らしさを保ったまま拡大するならこれ。それ以外での使い道はあまり思い浮かばない。
$ convert input.png -sample 800% output.png
平均画素法(面積平均法)で拡大縮小。
イラストの拡大縮小をするとき、(よくあるバイキュービック法に比べて)主線がくっきり出るのでお気に入り。
$ convert input.png -scale 1280x720 output.png
-resize
なら様々な補間アルゴリズムを指定可能。
$ convert input.png -filter Lanczos -resize 1280x720 output.png
指定できる補間アルゴリズムの一覧は
$ convert -list filter
で取得可能。
256色以下に減色する処理はcolorsを用いて次のように書く。
$ convert input.png -colors 256 output.png
ただし、上のような指定は文字通り「256色以下にする」だけであり、色のパレットは任意の色から選ばれる。
パレットをいわゆる「8ビット色」の256色に固定するには次のようにPNG8形式で吐く(こうするとレトロな見た目になる)。
$ convert input.png PNG8:output.png
tiffなどは多ページを含むことができる。これの分割は次のようにすれば良い。
$ convert input_muti.tif output-%04d.png
ただし、上の方法はメモリが足りないと失敗するらしく、その場合は
END=2000
for ((i=1;i<=END;i++));do
echo $i
convert input_muti.tif[$i] -scene 1 output_$i.png
done
のようにループを回して1ページずつ処理すればよいらしい。
最終更新: 2020-06-12 09:16:45 +0900
This page is generated by sinanoki.