Lors du traitement des images dans PHP, les bibliothèques GD sont couramment utilisées pour effectuer diverses opérations d'image. La fonction ImageeANtialias () est un outil fourni par la bibliothèque GD pour permettre l'effet anti-aliasing. L'anti-aliasage peut lisser les lignes et façonner les bords de l'image, en évitant les effets visuels déchiquetés, améliorant ainsi la qualité de l'image. Ainsi, la taille de l'image changera-t-elle après l'activation d'imageantalias () ?
La fonction ImageeANtialias () est définie comme suit:
bool imageantialias ( resource $image , bool $enabled )
$ l'image est la poignée de ressources d'image
L'anti-aliasage est activé lorsque $ activé est vrai et fermé en cas de faux
Cette fonction n'est efficace que pour les fonctions de dessin (telles que ImageLeline () , ImagePolygon () , etc.), qui peuvent rendre les bords des lignes dessinées plus douces.
Réponse simple: Non.
L'activation de l'imageantialias () n'affecte que la méthode d'ombrage des pixels que lorsque l'image est dessinée, améliore la douceur du bord, mais ne change pas la taille de l'image. La largeur et la hauteur de l'image sont toujours les valeurs de pixels obtenues en appelant imagesxx () et images () .
<?php
// Créer un100x100True Image couleur
$image = imagecreatetruecolor(100, 100);
// Activer l'anti-aliasing
imageantialias($image, true);
// Tracer une ligne diagonale
$color = imagecolorallocate($image, 255, 0, 0);
imageline($image, 10, 10, 90, 90, $color);
echo "Largeur d'image:" . imagesx($image) . "\n";
echo "Hauteur de l'image:" . imagesy($image) . "\n";
// Image de sortie
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
Exécutez le code et la taille de l'image est toujours de 100x100 pixels, mais les bords des lignes rouges dessinés seront plus lisses.
La taille de l'image ne changera que si:
Utilisez ImageCopyResampled () , ImageCopyResampled () et d'autres fonctions pour la mise à l'échelle
Recréez la toile et ajustez la largeur et la hauteur
Lors du chargement d'une image externe, l'image est à l'origine de différentes tailles
L'anti-aliasage n'appartient pas à la catégorie de fonctionnement pour modifier la taille de l'image.
Imageantalias () n'affecte que le rendu des pixels, lisse les bords
La largeur et la hauteur de l'image ne seront pas modifiées
Si vous souhaitez modifier la taille de l'image, vous devez utiliser des fonctions telles que la mise à l'échelle.
En utilisant rationnellement l'anti-aliasing, les lignes d'image peuvent être plus belles tout en gardant la taille d'image d'origine inchangée, ce qui est une technique courante lors du traitement des graphiques.