PHP プログラム開発ではサムネイルの生成が頻繁に行われますが、PHP を使用してサムネイルを生成するプロセス自体は難しくありませんが、PHP では生成されるサムネイルの品質を最適化および調整できることをご存知ですか?つまり、PHP は、生成されるサムネイルの明瞭さと、生成されるサムネイルのサイズを制御できます。 php を使用して圧縮画像を最適化する方法を見てみましょう。
PHP を使用してサムネイルを生成する方法についてはここでは紹介しません。このサイトの次の記事を参照してください。
PHP で画像のサムネイルを生成する方法
まず、PHP を使用して画像を圧縮するプログラム コードを見てみましょう:
<?php header('Content-type: image/PNG'); $image=@imagecreatefrompng('http://www.Alixixi.com/images/logo.png'); imagepng($image,'logo.png',0); //注意后面那个数字0,这里即压缩等级,参数范围:0-9*/ imagedestroy($image);
上記の imagepng 関数の 3 番目のパラメーターは、この記事で分析するものです。このパラメーターは、生成された画像の品質レベルを意味します。 10 レベル (0 ~ 9) に分けることができます。レベル 0 では圧縮がなく、画像は最も鮮明ですが、画像のサイズも最大になります。圧縮レベルが増加し続けると、画像はますます小さくなり、鮮明さが失われますが、圧縮された画像のサイズは元の画像の 50% まで縮小でき、圧縮率は依然として非常に高くなります。
具体的な例を見てみましょう。元の画像のボリュームは 125k で、さまざまな圧縮レベルを適用した後のテスト結果は次のとおりです。
imagepng($img,null,0) --> サイズ = 225K
imagepng($img,null,1); サイズ = 85.9K
imagepng($img,null,2) --> サイズ = 83.7K
imagepng($img,null,3) --> サイズ = 80.9K
imagepng($img,null,4) --> サイズ = 74.6K
imagepng($img,null,5) --> サイズ = 73.8K
imagepng($img,null,6) --> サイズ = 73K
imagepng($img,null,7) --> サイズ = 72.4K
imagepng($img,null,8) --> サイズ = 71K
imagepng($img,null,9) --> サイズ = 70.6K
上記の結論と実際のテスト結果に基づいて、著者は、画像を最適化する場合、一般にレベル 2 を使用するのがより適切であると結論付けました。画像には歪みはありませんが、音量は 30% 減少します。最適化の目的を達成します。レベル 6、7、8、または 9 の圧縮を使用すると、画像は歪みますが、音量の減少は明らかではありません。したがって、これらのレベルを使用して画像を圧縮および最適化することは適切ではありません。