私は3008x2000ピクセルの写真を生成するカメラを持っています。 Image Magickを使用して、自分のWebサイトに掲載する写真の拡大縮小とサイズ変更を行っています。私がウェブサイトで使用している画像のサイズは602x400です。このコマンドを使用してサイズを縮小します。
convert DSC_0124.JPG -scale 20% -size 24% img1.jpg
これにより、サイズが602x400ピクセルの画像が生成されます。ただし、ファイルサイズは常に250KBを超えます。 1つのHTMLページに画像が多いほど、ページが重くなり、読み込み時間が長くなります。ファイルサイズを可能な限り小さく、おそらく100KB未満に保つのに役立つ画像マジックの機能はありますか?ただし、画像サイズは同じ、つまり602x400pxである必要があります。私はMSWindows用の SEAMonster ツールで同様の最適化を達成しました。コマンドラインの代替手段がないため、変換する画像が数百ある場合はあまり役に立ちません。
Delanが提案したコマンドを使用して、追加の「-strip」フラグを追加してEXIFデータを削除します。これにより、一部の画像のサイズが大幅に縮小されました。これはUNIXプラットフォーム用のbashスクリプトですが、2番目の部分は個々のイメージにのみ使用できます。
for X in *.jpg; do convert "$X" -resize 602x400 -strip -quality 86 "$X"; done
これにより、ディレクトリ内のすべての画像が変換されます。
使用する -quality
圧縮レベルを設定するには:
convert DSC_0124.JPG -scale 20% -size 24% -quality [0..100] img1.jpg
出力画像の最大サイズは、次のように100KBで定義できます。
convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg
PHPでWebサイトを実行している場合は、SLIR画像サイズ変更スクリプトを検討することをお勧めします。これは、さまざまな制約(以下を参照)に合わせてサイズ変更を行い、結果をキャッシュします。
Parameters:
w Maximum width
h Maximum height
c Crop ratio
q Quality
b Background fill color
p Progressive