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, avec les résultats de tests suivants à travers différents niveaux de compression :
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
Il est à noter que dans l'entrée PHP, lorsque le niveau de compression est supérieur à 0, le volume est plus grand que l'original car l'image originale L'image est en fait le résultat d'une légère compression, et le niveau de compression 0 n'est pas du tout un simple bit de compression, sa taille sera donc plus grande 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 de volume ne sera pas évidente. Ces niveaux ne doivent donc pas être utilisés pour optimiser la compression d’image.