web-dev-qa-db-ja.com

Imagemagick-画像のサイズを25ピクセルの高さとアスペクト比に変更

わかりましたので、205x150から103x148のすべてのサイズの間に16個の画像のフォルダーがあります。それらを25pxのピクセルの高さと幅に縮小し、透明な背景に水平に積み重ねたい...それは可能ですか?

これにはおそらくImageMagickを使用する必要があります...

36
test

あなたはImageMagickでそれをすべて行うことができます。

あなたは質問がそれほど具体的ではないので、ここに役立つかもしれないコマンド例のクイックチートシートがあります:

# resize image to width 25, keeping aspect ratio
convert -geometry 25x src/image1.png out/image1.png

# resize image to height 25, keeping aspect ratio
convert -geometry x25 src/image1.png out/image1.png

# concatenate images horizontally
convert +append src/image1.png src/image2.png out/image12horiz.png

# concatenate images vertically
convert -append src/image1.png src/image2.png out/image12vert.png

さらに、montageコマンドは、探している最終的なイメージを作成するのにおそらく最適です(いくつかのパディングを含む透明なbg上など)が、構文を覚えていません。

もう1つの便利なコマンドはidentifyで、(他の詳細とともに)画像のサイズを検索します。

ImageMagickをインストールすると、man ImageMagickにコマンドのリストが表示され、manページで各コマンドの詳細を確認できます。機能は非常にたくさんありますが、Googleで残りの機能を理解することはそれほど難しくありません。 (私はいつもそうしています)

72
janos

@janosの答えに何かを追加するだけです。以前のバージョンのImageMagickを使用していませんが、ドキュメントによると、バージョンv6以降です http://www.imagemagick.org/Usage/resize/#geometry

ジオメトリは非常に特別なオプションです。オペレーターの動作は、すべてのIMコマンドでわずかに異なり、多くの場合、特別で魔法のように動作します。この理由は主にレガシーの使用によるものであり、可能な限り回避する必要があります。

したがって、-geometryパラメータ以外でも、-resizeを使用して、アスペクト比を維持するために必要な値を省略できます。 -qualityパラメータを使用して、サイズを変更するときに画質の低下を回避することもできます。品質の値は、1(最低の画質と最高の圧縮)から100(最高の品質ですが、最も効果的でない圧縮)です。詳しくはこちらをご覧ください: https://imagemagick.org/script/command-line-options.php#quality

例えば:

# resize image to height 25, keeping aspect ratio with quality 90
convert -resize x25 original_image.jpeg -quality 90 resized_image.jpeg
3
vkvkvk