imageline imageline (PHP 3, PHP 4, PHP 5)
imageline -- Dessine une ligne
Description bool
imageline ( resource image, int x1, int y1, int x2, int y2, int color )
imageline() dessine une ligne depuis le point
(x1 ,y1 ) jusqu'au point
(x2 ,y2 )
(le coin supérieur gauche est l'origine (0,0)) dans l'image
image et avec la couleur color .
Exemple 1. Tracer 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() et
imagecolorallocate() .
Manuel PHP pour PHP-Nuke © www.stefvar.com