imageline

(PHP 4, PHP 5, PHP 7, PHP 8)

imagelineDessine une ligne

Description

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

Dessine une ligne entre deux points fournis.

Liste de paramètres

image

Un objet GdImage, 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 identificateur de couleur créé avec imagecolorallocate().

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

VersionDescription
8.0.0image attend une instance de GdImage désormais; auparavant, une resourcegd était attendue.

Exemples

Exemple #1 Trace une ligne fine

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{

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

To Top