ホームページ  >  記事  >  php教程  >  PHP は圧縮画像を最適化します

PHP は圧縮画像を最適化します

WBOY
WBOYオリジナル
2016-06-21 08:49:061166ブラウズ

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

圧縮レベルが 0 の場合、元の画像は実際にはわずかに圧縮されているため、サイズは元の画像より大きくなりますが、圧縮レベル 0 はまったく圧縮されていないことを意味するため、そのボリュームは元の画像よりも大きくなります。

上記の結論と実際のテスト結果に基づいて、著者は、画像を最適化する場合、一般にレベル 2 を使用するのがより適切であると結論付けました。画像には歪みはありませんが、音量は 30% 減少します。最適化の目的を達成します。レベル 6、7、8、または 9 の圧縮を使用すると、画像は歪みますが、音量の減少は明らかではありません。したがって、これらのレベルを使用して画像を圧縮および最適化することは適切ではありません。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。