Position actuelle: Accueil> Derniers articles> Image de comparaison: allumez et désactivez l'effet de l'imageanttialias ()

Image de comparaison: allumez et désactivez l'effet de l'imageanttialias ()

M66 2025-06-05

Lors de l'utilisation de PHP pour le traitement d'image, ImageeANtiAnias () est une fonction facilement négligée. Cependant, il a un impact significatif sur la qualité de l'image, en particulier la présentation des lignes et des bords lisses. Alors, que fait exactement cette fonction? Quelle est la différence entre l'allumer et l'éteindre? Découvrons à travers des exemples et des diagrammes de comparaison.

Qu'est-ce que l'imageantialias ()

Imageantalias () est une fonction utilisée dans la bibliothèque PHP GD pour définir la fonction anti-aliasing. Le rôle de l'anti-aliasing est de lisser les bords, ce qui fait que les lignes, les courbes et les diagonales semblent plus naturelles et de réduire le sens de la déchaînement.

La syntaxe est la suivante:

 bool imageantialias(GdImage $image, bool $enable): bool
  • $ Image est la ressource d'image cible;

  • Lorsque $ Activer est vrai , l'anti-aliasing est activé, s'il est faux , il est désactivé.

Effet de comparaison réel

Ci-dessous, nous générons deux images identiques via un exemple de code, sauf que l'un a activé l'antialiers et l'autre n'a pas.

Exemple de code: désactiver l'anti-aliasing

 <?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// Aucun anti-aliasing n&#39;est activé
imageantialias($img, false);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_no_antialias.png');
imagedestroy($img);
?>

Générer l'adresse de l'image: https://m66.net/images/circle_no_antialias.png

Exemple de code: activer l'anti-aliasing

 <?php
$img = imagecreatetruecolor(200, 200);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
imagefill($img, 0, 0, $white);

// Activer l&#39;anti-aliasing
imageantialias($img, true);
imagearc($img, 100, 100, 150, 150, 0, 360, $black);

imagepng($img, 'circle_antialias.png');
imagedestroy($img);
?>

Générer l'adresse de l'image: https://m66.net/images/circle_antialias.png

Comparaison des effets visuels

Veuillez consulter les différences entre les deux images suivantes:

Comme on peut le voir sur la figure, les cercles sont plus lisses après l'allumage anti-aliasing, tandis que l'image avec anti-aliasing est désactivée avec des lignes irrégulières déchiquetées apparaissant sur les bords.

Résumer

Bien que l'imagineAtialias () ne soit pas une fonction forcée, l'activation de l'antialiasage peut considérablement améliorer la qualité de l'image lors du traitement des images qui nécessitent des bords fins (tels que les icônes, les courbes, les contours de texte, etc.). Le seul prix est un peu plus de temps de traitement, mais ces frais généraux sont acceptables dans la plupart des scénarios d'application.

Si vous vous souciez de la beauté de l'image de sortie, n'oubliez pas d'ajouter ImageeRalias ($ Image, True); Avant de dessiner, un petit paramètre peut rendre votre effet de traitement d'image plus professionnel!