私は このツール がウェブ用に画像を最適化することを発見しました。私にとって驚くべきことは(もちろん、このような他のツールもあります:))アップロードされた画像が可能な場合にのみ最適化されるということです。つまり、画像が既にWeb用に最適化されていると考えると、節約できません」。
私の質問:convert -quality 80
のようなものを実行する前に、画像が既にWeb用に最適化されている場合に(ImageMagickまたはLinuxの他のツールを使用して)確認する方法はありますか?その場合、convert -quality 80
を実行しません。
以下で使用するスクリプトのようなスクリプトを使用して、すべての画像を粉砕します。最初に画像ディレクトリをバックアップしてください。結果の画像が提供している画像よりも小さい場合、それらは最適化されていません!
#!/bin/sh
# script for optimizing images in a directory (recursive)
# pngcrush & jpegtran settings from:
# http://developer.yahoo.com/performance/rules.html#opt_images
# pngcrush
for png in `find $1 -iname "*.png"`; do
echo "crushing $png ..."
pngcrush -rem alla -reduce -brute "$png" temp.png
# preserve original on error
if [ $? = 0 ]; then
mv -f temp.png "$png"
else
rm temp.png
fi
done
# jpegtran
for jpg in `find $1 -iname "*.jpg"`; do
echo "crushing $jpg ..."
jpegtran -copy none -optimize "$jpg" > temp.jpg
# preserve original on error
if [ $? = 0 ]; then
mv -f temp.jpg "$jpg"
else
rm temp.jpg
fi
done
pngcrush
はここから来ます: http://pmt.sourceforge.net/pngcrush/jpegtran
はここから来ます: http://jpegclub.org/jpegtran/
3つのメモ:
pngout
は、ほとんどのファイルの圧縮率が向上しています。 http://advsys.net/ken/utils.htm [ source ]cwebp
はおそらくjpegとPNGの両方でより良い結果を得ることができますが、ChromeとOperaでのみ使用できます(まもなくFirefox): https:// developers .google.com/speed/webp /