suche nach in der

imagefilledrectangle> <imagefilledellipse
Last updated: Fri, 18 May 2012

view this page in

imagefilledpolygon

(PHP 4, PHP 5)

imagefilledpolygonZeichnet ein gefülltes Vieleck (Polygon)

Beschreibung:

int imagefilledpolygon ( resource $im , array $points , int $num_points , int $col )

ImageFilledPolygon() erzeugt ein Vieleck im Bild im, gefüllt mit der Farbe col. Points ist ein PHP-Array, das die Eckpunkte des Vielecks enthält. Points[0] ist die X-Koordinate (x0), points[1] die Y-Koordinate (y0) des ersten Eckunktes. Points[2] ist x1, points[3] = y1 usw. Num_points enthält die Anzahl der Punkte.



add a note add a note User Contributed Notes
imagefilledpolygon
jylyn at hotmail dot com
17-Oct-2006 02:11
In spite of what it says about requiring more than 3 vertices, it is possible to draw a triangle with this function!
tatlar at yahoo dot com
12-Sep-2006 02:08
<?php function _makeFiveSidedStar( $x, $y, $radius, $shape='polygon', $spiky=NULL ) {
   
// $x, $y co-ords of origin (in pixels), $radius (in pixels), $shape - 'polygon' or 'star', $spikiness - ratio between 0 and 1
   
$point = 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 = 0.5 // default to 0.5
       
$indent = $radius * $spiky ;
       
$point[1]['x'] = $x + ( $indent * cos( deg2rad( 90 - $angle/2 ) ) ) ;                                                            
       
$point[1]['y'] = $y - ( $indent * sin( deg2rad( 90 - $angle/2 ) ) ) ;                                                    
       
$point[3]['x'] = $x + ( $indent * sin( deg2rad( 180 - $angle ) ) ) ;                                                             
       
$point[3]['y'] = $y - ( $indent * cos( deg2rad( 180 - $angle ) ) ) ;
       
$point[5]['x'] = $x ;                                                                                                            
       
$point[5]['y'] = $y + ( $indent * sin( deg2rad( 180 - $angle ) ) ) ;
       
$point[7]['x'] = $x - ( $indent * sin( deg2rad( 180 - $angle ) ) ) ;                                                             
       
$point[7]['y'] = $y - ( $indent * cos( deg2rad( 180 - $angle ) ) ) ;                                                             
       
$point[9]['x'] = $x - ( $indent * cos( deg2rad( 90 - $angle/2 ) ) ) ;                                                            
       
$point[9]['y'] = $y - ( $indent * sin( deg2rad( 90 - $angle/2 ) ) ) ;
    }
   
ksort( $point ) ;
   
$coords = array() ;  // new array                                                                                                                
   
foreach( $point as $pKey=>$pVal ) {                                                                                                  
        if(
is_array( $pVal ) ) {                                                                                                        
            foreach(
$pVal as $pSubKey=>$pSubVal ) {                                                                                     
                if( !empty(
$pSubVal ) ) array_push( $coords, $pSubVal ) ;                                                               
            }                                                                                                                            
        }                                                                                                                                
    }
    return
$coords ;
}
$values = _makeFiveSidedStar( 100, 100, 50, 'star' ) ;
// Put values into imagepolygon function. You need to define the $image and $color, and flush it out to an image type.?>
etnekor at tar dot hu
22-Jan-2006 10:18
There is a simple function to draw a filled point with a chosen radius and color.

<?php
function drawPoint($img, $radius, $origo_x, $origo_y, $pointColor)
{
  for (
$i=0;$i<=360;$i++)
  {
   
$pont[] = $origo_x + ($radius * sin(deg2rad($i)));
   
$pont[] = $origo_y - ($radius * cos(deg2rad($i)));
  }
 
reset($pont);
 
ImageFilledPolygon ($img, $pont, (sizeof($pont)/2), $pointColor);
}
?>

imagefilledrectangle> <imagefilledellipse
Last updated: Fri, 18 May 2012