PHP 7.0.6 Released

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::lineDraws a line

Description

bool ImagickDraw::line ( float $sx , float $sy , float $ex , float $ey )
Warning

This function is currently not documented; only its argument list is available.

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Parameters

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

Return Values

No value is returned.

Examples

Example #1 ImagickDraw::line()

<?php
function line($strokeColor$fillColor$backgroundColor) {

    
$draw = new \ImagickDraw();

    
$draw->setStrokeColor($strokeColor);
    
$draw->setFillColor($fillColor);

    
$draw->setStrokeWidth(2);
    
$draw->setFontSize(72);

    
$draw->line(1257010050);
    
$draw->line(350170100150);

    
$imagick = new \Imagick();
    
$imagick->newImage(500500$backgroundColor);
    
$imagick->setImageFormat("png");
    
$imagick->drawImage($draw);

    
header("Content-Type: image/png");
    echo 
$imagick->getImageBlob();
}

?>

User Contributed Notes

GaryM at BinaryFarm dot com
6 years ago
<?php

// a twist on the above radar screen.
// This makes random colored spokes from a center point

   
$width 400;
   
$height = 400;
  
   
$image = new Imagick();
   
$image->newImage( $width, $height, new ImagickPixel( 'wheat' ) );
   
$draw = new ImagickDraw();
  
//$draw->setStrokeColor( new ImagickPixel( 'black' ) );

   
$rx = $width / 2;
   
$ry = $height / 2;
   
$total = 2*M_PI;
   
$part = $total / 16;
    while(
$total > )
    {
       
$ex = $rx +$rx * sin( $total );
       
$ey = $ry +$ry * cos( $total );
       
$draw->line  ( $rx, $ry, $ex, $ey );
       
$total -= $part;

   
// We need three HEX numbers to create an RGB color code like '#FF33DD'.

   
$draw->setStrokeColor( get_random_color() );
    }
   
$image->drawImage( $draw );
   
$image->setImageFormat( "png" );
   
header( "Content-Type: image/png" );
    echo
$image;
    exit;

function
get_random_color()        // Thanks to Greg R. for this nice little function.
{
    for (
$i = 0; $i<6; $i++)
    {
       
$c .=  dechex(rand(0,15));
    }
    return
"#$c";
}
?>
To Top