downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

ImagickDraw::matte> <ImagickDraw::getVectorGraphics
[edit] Last updated: Fri, 17 May 2013

view this page in

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::lineDibuja una línea

Descripción

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

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Dibuja una línea en la imagen usando el color de contorno actual, la opacidad de contorno, y el ancho de contorno.

Parámetros

sx

coordenada x de inicio

sy

coordenada y de inicio

ex

coordenada x final

ey

coordenada y final

Valores devueltos

No devuelve ningún valor.



add a note add a note User Contributed Notes ImagickDraw::line - [2 notes]
up
0
GaryM at BinaryFarm dot com
3 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";
}
?>
up
0
Axeia
4 years ago
A small example on how to draw lines and output it as a PNG as the documentation is quite poor at the moment.

This example draws a bunch of lines towards the center of the image, useful if you want to make a spiderweb, or radar-chart.. or something along those lines.
<?php
    $width
200;
   
$height = 200;
   
$border = 2;
   
   
$img = new Imagick();
   
$img->newImage( $width, $height, new ImagickPixel( 'lime' ) );
   
$draw = new ImagickDraw();
   
$draw->setStrokeColor( new ImagickPixel( 'black' ) );

   
$rx = $width / 2;
   
$ry = $height / 2;
   
$total = 2*M_PI;
   
$part = $total / 12;
    while(
$total > )
    {
       
$ex = $rx +$rx * sin( $total );
       
$ey = $ry +$ry * cos( $total );
       
$draw->line  ( $rx, $ry, $ex, $ey );
       
$total -= $part;
    }
   
$img->drawImage( $draw );
   
$img->setImageFormat( "png" );
   
header( "Content-Type: image/png" );
    echo
$img;
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites