デジタル写真のようなビットマップ(ラスター)画像を Linux 上でサイズ数を指定して作成することは、簡単そうに見えて意外と苦労する作業です。
GIMP でファイルを開き、Rectangle Select で範囲を選択し、Tool Options からサイズを数値で指定して保存しても、出力された PNG/JPG ファイルは微妙にピクセル数が変わっていたりします。
たとえば、1200 x 800 px のピクセル数で保存しようとしても、実際に出力されたファイルを確認してみると 1197 x 798 px のように期待したピクセル数と異なることは珍しくありません。
画像の縦横比だけが問題となる場合は良いですが、Google Play Store にアプリを公開する場合のように厳密にピクセル数を指定されている場合、非常に困ることになります。
どうにかして指定のピクセル数でファイルを出力できないかと設定をいじったり、別のツールを試したりしましたが、結局、ImageMagick を用いて画像のフォーマットを変換することが最短の解決法だと結論づけました。
ImageMagick を用いた画像のサイズ変更では mogrify を使用してファイルを一括変更することが多いかと思われますが、この方法ではうまく行きません。
どうするのかと言えば、本来は画像のフォーマットを変換するコマンドである convert を使用して出力サイズを指定してして変換を行います。
1 2 |
$ sudo apt-get install imagemagick $ convert input.png -resize 1024x500! output.png |
なんだかなぁという気がしますが、やりたいことはこれで達成できます。