1.png
currentというイメージがあるとしましょう。
500px : height
1000px : width
次のように調整したいと思います。
50px : height
100px : width
JPGではなくPNG形式で出力する必要があります。たとえば、ありがとうございます。
答え1
私はconvert
またはmogrify
で使用しますイメージマジシャン母音。
$ convert -resize 100x50 1.png 2.png
# or #
$ mogrify -resize 100x50 1.png
convert
別々の出力ファイル名を使用して別々のファイルを作成します。
mogrify
別の出力ファイル名を使用しないでください。
答え2
ソース画像とターゲット画像の縦横比が同じであるため、これまでに得られた回答はこの特別な場合に適用されます。しかし、どんなサイズに変更したい場合は、彼らは失敗するでしょう:
$ file foo.png
foo.png: PNG image data, 1000 x 500, 8-bit/color RGB, non-interlaced
$ convert -resize 100x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
上記のように、画像の比率を変更することなく簡単な変換がうまく機能します。しかし、変更したい場合はどうすればよいですか?
$ convert -resize 200x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
したがって、スケールを変更すると上記のコマンドは失敗します。convert
イメージをこのように強制的に変更するには、!
ジオメトリ仕様の最後にaを追加する必要があります(そしてこれは多くの!
シェルの特殊文字なので、エスケープする必要があります\!
)。
$ convert -resize 200x50\! foo.png bar.png
$ file bar.png
bar.png: PNG image data, 200 x 50, 8-bit colormap, non-interlaced
答え3
これにはImagemagickを使用してください。
正しい使い方はマニュアルページを読んでください。しかし、引数を渡すとうまくいきます。
convert 1.png -resize 50x100 1-resized.png
答え4
ImageMagickの代替品は古代のnetpbmです。
pngtopnm input.png | pnmscale -reduce 10 | pnmtopng > output.png