note 56565 added to function.imageline

From: Date: Wed, 07 Sep 2005 17:39:26 +0000
Subject: note 56565 added to function.imageline
Groups: php.notes 
Request: Send a blank email to php-notes+get-94865@lists.php.net to get a copy of this message
Some simple code to draw lines with specific thickness using "imagefilledpolygon". Useful if your gdlib does not support "imagesetthickness". <? function dickelinie($img,$start_x,$start_y,$end_x,$end_y,$color,$thickness) { $angle=(atan2(($start_y - $end_y),($end_x - $start_x))); $dist_x=$thickness*(sin($angle)); $dist_y=$thickness*(cos($angle)); $p1x=ceil(($start_x + $dist_x)); $p1y=ceil(($start_y + $dist_y)); $p2x=ceil(($end_x + $dist_x)); $p2y=ceil(($end_y + $dist_y)); $p3x=ceil(($end_x - $dist_x)); $p3y=ceil(($end_y - $dist_y)); $p4x=ceil(($start_x - $dist_x)); $p4y=ceil(($start_y - $dist_y)); $array=array(0=>$p1x,$p1y,$p2x,$p2y,$p3x,$p3y,$p4x,$p4y); imagefilledpolygon ( $img, $array, (count($array)/2), $color ); } // Example: header ("Content-type: image/jpeg"); $img = ImageCreate (210, 210) or die("Cannot Initialize new GD image stream "); $backgroundcolor = ImageColorAllocate ($img, 255, 255, 255); $orange = ImageColorAllocate($img, 252, 102, 4); dickelinie($img, 10, 10, 10, 200,$orange,2); dickelinie($img, 10, 200, 200, 10,$orange,2); dickelinie($img, 200, 10, 200, 200,$orange,2); imagejpeg($img); ImageDestroy($img); ?> ---- Manual Page -- http://www.php.net/manual/en/function.imageline.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+56565 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes&reason=non-english Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+56565&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+56565&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#94865) next »