Position actuelle: Accueil> Derniers articles> Imageantalias () et Imageline () pour obtenir des lignes lisses

Imageantalias () et Imageline () pour obtenir des lignes lisses

M66 2025-05-22

Lorsque vous dessinez des images en PHP, nous devons souvent dessiner des lignes droites, comme dans les scénarios de traitement d'image tels que la génération de graphiques, les graphiques ou les filigranes. Cependant, les lignes tracées par défaut peuvent avoir des bords de déchaînement qui ne semblent pas assez lisses. À l'heure actuelle, nous pouvons utiliser la fonction ImageeANtialias () pour combiner Imageline () pour obtenir un effet de ligne plus lisse et plus naturel.

1. Fonction Introduction

Imageantalias ()

 bool imageantialias ( GdImage $image , bool $enable )

Cette fonction permet ou désactive l'anti-aliasing pour l'image spécifiée. Il n'est valable que pour certaines fonctions de dessin, telles que Imageline () , ImagePolygon () , etc.

Imageline ()

 bool imageline ( GdImage $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )

Cette fonction trace une ligne droite sur l'image, du point (x1, y1) au point (x2, y2), la couleur est spécifiée par la couleur du paramètre $ .

2. Étapes de mise en œuvre

Étape 1: Créez une toile

Nous créons d'abord une vraie toile d'image couleur pour une meilleure expression de couleur.

 $width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);

Étape 2: Définissez la couleur d'arrière-plan

Vous pouvez remplir l'arrière-plan avec une couleur pour rendre les lignes dessinées plus claires.

 $white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

Étape 3: Activer l'anti-aliasing

C'est la clé pour atteindre des lignes lisses.

 imageantialias($image, true);

Étape 4: tracez une ligne droite

Réglez la couleur de ligne et tracez la ligne.

 $black = imagecolorallocate($image, 0, 0, 0);
imageline($image, 50, 50, 350, 250, $black);

Étape 5: Sortie de l'image

L'image générée est sortie au format PNG et affiché dans le navigateur.

 header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

3. Exemple complet

Voici un exemple complet de code PHP coulable qui tire une ligne noire lisse du coin supérieur gauche au coin inférieur droit:

 <?php
$width = 400;
$height = 300;
$image = imagecreatetruecolor($width, $height);

// Définir la couleur de fond sur blanc
$white = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $white);

// Activer l&#39;anti-aliasing
imageantialias($image, true);

// Réglez la couleur de la ligne sur le noir
$black = imagecolorallocate($image, 0, 0, 0);

// Tracer une ligne droite
imageline($image, 50, 50, 350, 250, $black);

// Image de sortie
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

Vous pouvez enregistrer le code ci-dessus en tant que fichier PHP et y accéder via un navigateur, par exemple, le placer sur https://www.m66.net/draw_line.php sur le site Web pour voir l'effet de dessin.

4. Résumé

En permettant à ImageeANtiAnias () , la bibliothèque GD de PHP peut effectuer des anti-aliasing lors du dessin de lignes, réduisant efficacement les bords dentelés et rendant l'image plus lisse et plus belle. Cette fonction est très pratique dans les applications Web qui nécessitent une sortie graphique de haute qualité. Combiné avec Imageline () , vous pouvez facilement dessiner des éléments d'interface graphique exquis.