downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  

<imagelayereffectimageloadfont>
Last updated: Thu, 26 Jun 2008

imageline

(PHP 4, PHP 5)

imageline — Draw a line

Description

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

imageline() draws a line between the two given points.

Parameters

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

x1

x-coordinate for first point

y1

y-coordinate for first point

x2

x-coordinate for second point

y2

y-coordinate for second point

color

The line color. A color identifier created with imagecolorallocate()

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 Drawing a thick line

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
  
/* this way it works well only for orthogonal lines
   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);
}

?>



add a noteadd a note User Contributed Notes
Draw a line
There are no user contributed notes for this page.




<imagelayereffectimageloadfont>
Last updated: Thu, 26 Jun 2008
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://phpbuilder.com/
Last updated: Tue Nov 1 20:20:59 2005 EST
Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs