ホームページ  >  記事  >  バックエンド開発  >  PHPで画像を圧縮するにはどうすればよいですか?

PHPで画像を圧縮するにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-07-20 17:25:281319ブラウズ

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

PHP アプリケーションの開発ではサムネイルの生成が頻繁に行われますが、PHP を使用してサムネイルを生成するプロセス自体は難しくありませんが、生成されるサムネイルの品質を最適化するために PHP を調整できることをご存知ですか?
12header('Content-type: image/PNG');
3$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png');
4imagepng($image, 'logo.png',0); //最後の数字 0 に注意してください。これは圧縮レベルです。パラメータ範囲: 0-9*/
5imagedestroy($image);

3 番目のパラメータは次の値を超えています。 imagepng 関数、このパラメータの意味は、生成される画質のレベルです。ここでは、10 レベル (0 ~ 9) に分けることができます。非圧縮のゼロレベル画像は歪みがなく、最も鮮明な画像ですが、画像も最大であり、デジタル圧縮レベルがますます高くなります。画像は次のようになります。ますます鮮明ではなくなりますが、画像の圧縮量を元の 50% に減らすことができても、圧縮率はますます大きくなります。特定の例を見てみましょう。生ボリュームが 125K で、さまざまな圧縮レベルによる次のテスト結果を見てみましょう:
imagepng($img,null,0); --> Size = 225K
imagepng($img,null,1); --> Size = 85.9K
imagepng($img,null,2); --> Size = 83.7K
imagepng($img,null,3); --> Size = 80.9K
imagepng($img,null,4); --> Size = 74.6K
imagepng($img,null,5); --> Size = 73.8K
imagepng($img,null,6); --> Size = 73K
imagepng($img,null,7); --> Size = 72.4K
imagepng($img,null,8); --> Size = 71K
imagepng($img,null,9); --> Size = 70.6
圧縮レベルが 0 より大きい場合、元の画像は実際にはわずかに圧縮された結果であるため、ボリュームは元の画像より大きくなります。圧縮レベル 0 はまったく圧縮されていないため、そのボリュームは元の画像より大きくなります。上記の結論と実際のテスト結果に基づいて、著者は、画像を最適化するには、一般にレベル 2 を使用するのが適切であると結論付けています。画像は変形しませんが、最適化のためにボリュームが 30% 削減されます。レベル 6、7、8、9 で圧縮すると、画像は変形しますが、音量の減少は明らかではありません。したがって、これらのレベルは画像圧縮の最適化には使用しないでください。

以上がPHPで画像を圧縮するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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