Maison  >  Article  >  développement back-end  >  Bases de la compression d'images avec PHP

Bases de la compression d'images avec PHP

炎欲天舞
炎欲天舞original
2018-05-15 15:42:205047parcourir

PHP peut contrôler la clarté de la vignette et le volume généré après la vignette. Voyons comment utiliser PHP pour optimiser nos images compressées.

Le développement d'applications PHP implique souvent la génération de vignettes. Le processus de génération de vignettes en utilisant PHP lui-même n'est pas difficile, mais connaissiez-vous les ajustements PHP pour optimiser la qualité des vignettes qu'il génère ?

12header('Content-type: image/PNG');
3$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png');
4imagepng($image,'logo.png',0); //Faites attention au chiffre 0 à la fin, qui est le niveau de compression : 0-9*/
5imagedestroy($image);

Le troisième paramètre dépasse la fonction imagepng La signification de ce paramètre est le niveau de qualité de l'image générée. Ici, elle peut être divisée en 10 niveaux (0-9), l'image de niveau zéro non compressée ne sera pas déformée, l'image la plus claire, mais l'image est aussi la plus grande, avec de plus en plus de niveaux de compression numérique, l'image deviendra de moins en moins clair, mais lorsque le volume compressé de l'image peut être réduit à 50 % de l'original, le taux de compression devient de plus en plus grand. Regardons un exemple spécifique, maintenant un volume brut de 125 Ko, et les résultats de tests suivants avec différents niveaux de compression :

imagepng($img,null,0 --> Size = 225K
imagepng); ($img,null,1); --> Taille = 85,9K
imagepng($img,null,2); --> Taille = 83,7K
imagepng($img,null,3) ; --> Taille = 80,9K
imagepng($img,null,4); --> Taille = 74,6K
imagepng($img,null,5); K
imagepng($img,null,6); --> Taille = 73K
imagepng($img,null,7); --> Taille = 72,4K
imagepng( $img, null,8); --> Size = 71K
imagepng($img,null,9); --> Size = 70.6K

Il convient de noter qu'en débutant avec PHP, lorsque le niveau de compression est supérieur à 0, le volume est plus grand que l'original, car l'image originale est en fait le résultat d'une légère compression, et le niveau de compression 0 n'est pas du tout compressé, donc son volume sera plus grand que l'image originale . Sur la base de la conclusion ci-dessus et des résultats réels des tests, l'auteur conclut que pour optimiser les images, il est généralement approprié d'utiliser le niveau 2. L'image n'est pas déformée, mais le volume est réduit de 30 % à des fins d'optimisation. Si vous compressez aux niveaux 6, 7, 8 et 9, l'image sera déformée, mais la réduction du volume ne sera pas évidente. Ces niveaux ne doivent donc pas être utilisés pour optimiser la compression d’image.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn