imageline
(PHP 4, PHP 5)
imageline — Dessine une ligne
Description
bool imageline
( resource
$image
, int $x1
, int $y1
, int $x2
, int $y2
, int $color
)Dessine une ligne entre deux points fournis.
Liste de paramètres
-
image
-
Une ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
-
x1
-
X : coordonnée du premier point.
-
y1
-
Y : coordonnée du premier point.
-
x2
-
X : coordonnée du second point.
-
y2
-
Y : coordonnée du second point.
-
color
-
La couleur de remplissage. Un identifiant de couleur créé par la fonction imagecolorallocate().
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Trace une ligne fine
<?php function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1) { /* de cette manière, ca ne marche bien que pour les lignes orthogonales imagesetthickness($image, $thick); return imageline($image, $x1, $y1, $x2, $y2, $color); */ if ($thick == 1) { return imageline($image, $x1, $y1, $x2, $y2, $color); } $t = $thick / 2 - 0.5; if ($x1 == $x2 || $y1 == $y2) { return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color); } $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q $a = $t / sqrt(1 + pow($k, 2)); $points = array( round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a), round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a), round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a), round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a), ); imagefilledpolygon($image, $points, 4, $color); return imagepolygon($image, $points, 4, $color); } ?>
Voir aussi
- imagecreatetruecolor() - Crée une nouvelle image en couleurs vraies
- imagecolorallocate() - Alloue une couleur pour une image