web-dev-qa-db-ja.com

ImageMagickで特定の高さの値に画像のサイズを変更しますか?

私はこれを探しましたが、簡単に実装できるソリューションが見つかりません。

現在、私はパノラマを扱うアプリケーションに取り組んでいます。バッチステッチプロセスから出ると、寸法は平均18000x4000です。 ImageMagickを使用して、アスペクト比を維持しながら特定の高さ値にそれらの画像をダウンスケールするにはどうすればよいですか?

マニュアルによると、convert操作は、同じアスペクト比を維持しながら、サイズ変更する高さと幅の両方を取ります。私が望んでいるのは、既存のサイズ変更スクリプト関数に600と1000を入れて、通常の表示可能な画像と縮小サイズの両方を持たせることです。

27
Jason

ImageMagickのドキュメント によると、-geometry x600を使用することをお勧めしますが、x600は、新しい画像の高さが600ピクセルで同じであることを意味します古い画像としてのアスペクト比


single imageの場合:

convert input.png -geometry x600 output.png

1回の実行でフォルダーのすべての画像を変換する場合は、そのフォルダーに切り替えて(つまり、cd ~/Pictures/panoramas/)、使用します

mogrify -geometry x600 *.png

ただし、は元の画像ファイルを上書きするため、注意してください。それを避けるために

  1. 新しいフォルダーを作成します(mkdir ~/Pictures/panoramas/small
  2. 画像をこのフォルダー(cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small)にコピーし、
  3. この新しいフォルダー(cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png)の画像を編集します。
36
Jakob

フォルダ内のすべてのファイルのサイズを変更するには、次のようなものを使用できます

mogrify -800x1094のサイズ変更! * jpg#画像のアスペクト比を保持

---必要に応じてサイズと拡張子を変更します

1
user47206