imagepolygon

(PHP 4, PHP 5, PHP 7)

imagepolygonDessine un polygone

Description

bool imagepolygon ( resource $image , array $points , int $num_points , int $color )

imagepolygon() dessine un polygone dans l'image image.

Liste de paramètres

image

Une ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().

points

Un tableau contenant les sommets du polygone, e.g. :

points[0] = x0
points[1] = y0
points[2] = x1
points[3] = y1

num_points

Le nombre de points (sommets).

color

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 Exemple avec imagepolygon()

<?php
// Création d'une image vide
$image imagecreatetruecolor(400300);

// Alloue une couleur pour le polygone
$col_poly imagecolorallocate($image255255255);

// Dessine le polygone
imagepolygon($image, array(
        
0,   0,
        
100200,
        
300200
    
),
    
3,
    
$col_poly);

// Affichage de l'image sur le navigateur
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Affichage de l'exemple : imagepolygon()

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
4
tatlar at yahoo dot com
11 years ago
Function to get 5-sided polygon (pentagon) or star (pentagram) co-ords.
<?php
function _makeFiveSidedStar( $x, $y, $radius, $shape='polygon', $spiky=NULL ) {
   
$point = array() ; // new array                                                                                                                  
   
$angle = 360 / 5 ;                                                                                                                   
   
$point[0]['x'] = $x ;                                                                                                                
   
$point[0]['y'] = $y - $radius ;                                                                                                      
   
$point[2]['x'] = $x + ( $radius * cos( deg2rad( 90 - $angle ) ) ) ;
   
$point[2]['y'] = $y - ( $radius * sin( deg2rad( 90 - $angle ) ) ) ;
   
$point[4]['x'] = $x + ( $radius * sin( deg2rad( 180 - ( $angle*2 ) ) ) ) ;
   
$point[4]['y'] = $y + ( $radius * cos( deg2rad( 180 - ( $angle*2 ) ) ) ) ;
   
$point[6]['x'] = $x - ( $radius * sin( deg2rad( 180 - ( $angle*2 ) ) ) ) ;                                                           
   
$point[6]['y'] = $y + ( $radius * cos( deg2rad( 180 - ( $angle*2 ) ) ) ) ;
   
$point[8]['x'] = $x - ( $radius * cos( deg2rad( 90 - $angle ) ) ) ;                                                                  
   
$point[8]['y'] = $y - ( $radius * sin( deg2rad( 90 - $angle ) ) ) ;
    if(
$shape == 'star' ) {
        if(
$spiky == NULL ) $spiky =/span>$s0.          &nbsbsp;     &dnbsp;  an>$spiky = array() ; <="default">$radius * sin=/span>$point[8]['x'] = $x - ( $radius = array() ; cos( deg2rad( 90 - $angle - 2 ) ) ) ) ;
  &nsp;                                                           &nb;  
$point[8]['x'] = $y - ( $radius = array() ; cos( deg2rad( 90 - $angle - 2 ) ) ) ) ;
  &nsp;                                                   &nb;  
$point[8]['x'] = $x - ( $radius = array() ; cos( deg2rad( 90 - ( $angle ) ) ) ;                                                                  &nbs; $point[8]['x'] = $y - ( $radius = array() ; cos( deg2rad( 90 - ( $angle ) ) ) ;    &nbs; $point[8]['x'] = $x ;                                                                                                                &nbp; &nbs; $point[8]['x'] = $y + ( $radius = array() ; cos( deg2rad( 90 - ( $angle ) ) ) ;    &nbs; $point[8]['x'] = $x ;    &nblass="default">$radius = array() ; cos( deg2rad( 90 - ( $angle ) ) ) ;                                                                  &nbs; $point[8]['x'] = $y - ( $radius = array() ; cos( deg2rad( 90 - ( $angle ) ) ) ;                                                                  &nbs; $point[8]['x'] = $x ;    &nblass="default">$radius = array() ; cos( deg2rad( 90 - $angle - 2 ) ) ) ) ;
  &nsp;                                                           &nbp; &nbs;
$point[8]['x'] = $y - ( $radius = array() ; cos( deg2rad( 90 - $angle - 2 ) ) ) ) ;
  &ns;
$point( 90 = array() ; $point* $point* 90 = array() ; * >=
* >) {
   p;                                                                                                 &nbp; &nbs;
$spiky ( 90 ) {
  &nbsbspp;                                                                                                       &nbp; &nbs;
90 ) {
  &nass="keyword">*
>= * >) {
   p;                                                                                     &nbs;
90 ) {
  &nbsss="default">$spiky
(
90 ( $spiky) {
  &nbssp;                                                               &nbs;
$point* function pan>* <="keyword">function pan>( $x$spiky$spiky$spiky) {
  &nbsn style="color: #000piky
up
ass="user">tatlar at yahoo dolicson0729/em>gmailong>108731tesss="date" title="2006-09-11 04:48">
Function to get 5-sided polygodraw>* <="keyword">function pan>$spiky8][_makeFiveSidedStarreguom

$spiky8, $y , $y , $y , $y $point * $spiky* <="keyword">function pan>* >* 360 $angle + ( 360 2 , $point [$x - ( $y = array() ; cos( deg2rad( $angle , $point [$x + ( $y = array() ; cos( deg2rad( $angle , $point$spiky8[$y , $y $spiky82 8][2 88][8ray  &Testodraw class=style="color: #000piky$spiky$point$spiky$point$spiky$point

up
ass="user">tatlar at yahoo dojsnell/em>netan kninjaong>1y36etesss="date" title="2006-09-11 04:48">
Function to get 5-Heretaould be$point_makeFiveSidedStartranslbse_class="keyword">[8, 8, $y - $y , $y , $y , $y , $point ;    &nblss="default">$x , $point - ( $x , $point = $angle = 5 cos, ray  * math: ; $point ;    &nbss="default">$x - ( cos( deg2rad- $angle - ( cos( deg2rad- $point =/span>$s0.    &nass="keyword">- ( cos( deg2rad- $y - ( cos( deg2rad- $point ;    &nbss="default">$x + ( $y + ( $y * $point - ( $x + ( $y + ( $y , _makeFiveSidedStartranslbse_clle="color: #007$spiky( $spiky- $x , $x , $y , $y , $point - ( $spiky$spiky( 5 , $point ;    &nbss="default">$x $spiky( $point - ( $x $spiky( $point [$point , $x ( $spiky- $x , $x , $y , $y , $point ( $point , $x , $point ( $point , $x , $point, $point
up
ass="user">tatlar at yahoo dolicson0729/em>gmailong>108758tesss="date" title="2006-09-11 04:48">
Function to get 5-Here'v> fided polygodraw>, _makeFiveSidedStardrawlass="keyword">( $point8, $y , $y , $y , $y $y - ( $y , $point - ( $point* <="keyword">function pan>$spiky* <="keyword">function pan>* >* 360 * >* 360 $spiky, 2 , $point [$point * $point ) ) ) ) ;
&nbass="default">NULL
$point $x - ( $point *
sin- ( cos( deg2rad( $angle , $point $x + ( $point * sin- ( cos( deg2rad( $angle , $point $x - ( $point * sin( deg2rad( $angle , $point $x + ( $point * sin( deg2rad( $angle , $point$spiky8, $y , 2 , $y $point
' width='12' height='12'> add> iv>mall>te" t"refseiv>e&>> e&>