ホームページ  >  記事  >  バックエンド開発  >  PHPを使用した画像圧縮の基本

PHPを使用した画像圧縮の基本

炎欲天舞
炎欲天舞オリジナル
2018-05-15 15:42:205112ブラウズ

PHP は、サムネイルの明瞭さとサムネイル後のボリューム生成を制御できます。 PHP を使用して圧縮画像を最適化する方法を見てみましょう。

PHP アプリケーションの開発ではサムネイルの生成が頻繁に行われますが、PHP を使用してサムネイルを生成するプロセス自体は難しくありませんが、生成されるサムネイルの品質を最適化するために PHP を調整できることをご存知ですか?

12header('Content-type: image/PNG');
3$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png');
4imagepng($image,'ロゴ.png',0); //末尾の数字 0 に注意してください。これは圧縮レベルです。パラメータ範囲: 0-9*/
5imagedestroy($image);

3 番目のパラメータは imagepng 関数を超えています。このパラメータの意味は、生成される画質のレベルです。ここでは、10 レベル (0 ~ 9) に分けることができます。非圧縮のゼロレベル画像は歪みがなく、最も鮮明な画像ですが、画像も最大であり、デジタル圧縮レベルがますます高くなります。画像は次のようになります。ますます鮮明ではなくなりますが、画像の圧縮量を元の 50% に減らすことができても、圧縮率はますます大きくなります。具体的な例として、125K の raw ボリュームと、さまざまな圧縮レベルによる次のテスト結果を見てみましょう。 1); サイズ = 85.9K

imagepng($img,null,2) --> サイズ = 80.9K

; imagepng($img,null,4); --> サイズ = 74.6K
imagepng($img,null,5); > サイズ = 73K
imagepng($img,null,7); サイズ = 72.4K
imagepng($img,null, 9); --> サイズ = 70.6K

PHP エントリでは、圧縮レベルが 0 を超えると、元の画像がわずかに圧縮された結果であるため、ボリュームが元の画像よりも大きくなることに注意してください。 、圧縮レベル 0 はまったく圧縮されていないため、そのボリュームは元の画像よりも大きくなります。上記の結論と実際のテスト結果に基づいて、著者は、画像を最適化するには一般的にレベル 2 を使用するのが適切であると結論付けています。画像は変形しませんが、最適化のために体積が 30% 削減されます。レベル6、7、8、9で圧縮すると、画像は変形しますが、音量の減少は目立ちません。したがって、これらのレベルは画像圧縮の最適化には使用しないでください。

以上がPHPを使用した画像圧縮の基本の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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