★ wanayoo — archive 1999 http://fr.php.net/manual/fr/function.pdf-lineto.phpNouvelle recherche | Portail wanayoo
PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<pdf_initgraphicspdf_makespotcolor>
view the version of this page
Last updated: Sun, 20 Apr 2003

pdf_lineto

(PHP 3>= 3.0.6, PHP 4 )

pdf_lineto -- Dessine une ligne.

Description

void pdf_lineto ( resource pdf_object, double x-coor, double y-coor)

pdf_lineto() dessine une ligne entre le point courant et le point de coordonnées (x-coor, y-coor).

Voir aussi pdf_moveto(), pdf_curveto() et pdf_stroke().



User Contributed Notes
pdf_lineto
add a note add a note
rod-php at thecomplex dot com
01-Oct-2002 05:18

function find_length ($x1, $y1, $x2, $y2) {
// Find distance between two points (x1,y1) and (x2,y2)
// Also useful to find length of a line.
      return sqrt( pow($x2-$x1,2) + pow($y2-$y1,2) );
}

rod-php at thecomplex dot com
01-Oct-2002 05:20

function find_angle ($x1, $y1, $x2, $y2) {
// This function takes two points (x1,y1) and (x2,y2)
// as inputs and finds the slope and angle of a line
// between those two points.  It returns the angle
// and slope in an array. I can't figure out how to
// return a NULL value, so if the two input points
// are in a vertical line, the function returns
// $angle = 90 and $slope = 0. I know this is wrong.
      if (($x2-$x1) != 0) {
               $slope = ($y2-$y1)/($x2-$x1);
              // Get rotation angle by finding the arctangent of the slope
               $angle = rad2deg(atan($slope));
              if ($x1 > $x2) {
                       $angle = 180+$angle;
              } elseif ($y1 > $y2) {
                       $angle = 360+$angle;
               }
       } else {
               // Vertical line has no slope, 90deg angle
               $angle = 90;
#               unset ($slope);
               $slope = 0;
     }
       return array ($angle, $slope);
}

rod-php at thecomplex dot com
01-Oct-2002 05:32

function pdf_arrow ($pdfobj, $x1, $y1, $x2, $y2, $dashed) {
// This function will draw, stroke, and fill a line
// from (x1,y1) to (x2,y2) with an arrowhead defined
// by $headangle (in degrees) and $arrowlength.
// If $dashed is nonzero, a dashed line is drawn.
// REQUIRES: find_angle
       $headangle = 20;
       $arrowlength = 20;

       list ($angle, $slope) = find_angle($x1, $y1, $x2, $y2);

       pdf_moveto($pdfobj, $x2, $y2);

       // Find the two other points of the arrowhead
       // using $headangle and $arrowlength.
       $xarrow1 = $x2+cos(deg2rad(180+$angle+$headangle/2))*$arrowlength;
      $yarrow1 = $y2+sin(deg2rad(180+$angle+$headangle/2))*$arrowlength;
      $xarrow2 = $x2+cos(deg2rad(180+$angle-$headangle/2))*$arrowlength;
     $yarrow2 = $y2+sin(deg2rad(180+$angle-$headangle/2))*$arrowlength;
       // Draw two legs of the arrowhead, close and fill
       pdf_lineto($pdfobj, $xarrow1, $yarrow1);
       pdf_lineto($pdfobj, $xarrow2, $yarrow2);
       pdf_closepath($pdfobj);
      pdf_fill($pdfobj);

       // Find the point bisecting the short side
       // of the arrowhead. This is necessary so
       // the end of the line doesn't poke out the
       // beyond the arrow point.
       $x2line = ($xarrow1+$xarrow2)/2;
       $y2line = ($yarrow1+$yarrow2)/2;

       // Now draw the "body" line of the arrow
       if ($dashed != 0) {
              pdf_setdash($pdfobj,5,5);
       }
       pdf_moveto($pdfobj, $x1, $y1);
       pdf_lineto($pdfobj, $x2line, $y2line);
      pdf_stroke($pdfobj);
}

add a note add a note

<pdf_initgraphicspdf_makespotcolor>
 Last updated: Sun, 20 Apr 2003
show source | credits | stats | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: nexen.net
Last updated: Thu May 22 05:09:20 2003 CEST