PHP Doku:: Draws a line - function.imagickdraw-line.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzBildverarbeitung und -generierungImage Processing (ImageMagick)The ImagickDraw classImagickDraw::line

Ein Service von Reinhard Neidl - Webprogrammierung.

The ImagickDraw class

<<ImagickDraw::getVectorGraphics

ImagickDraw::matte>>

ImagickDraw::line

(PECL imagick 2.0.0)

ImagickDraw::lineDraws a line

Beschreibung

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

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

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

Parameter-Liste

sx

starting x coordinate

sy

starting y coordinate

ex

ending x coordinate

ey

ending y coordinate

Rückgabewerte

Es wird kein Wert zurückgegeben.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
GaryM at BinaryFarm dot com
24.02.2010 20:48
<?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";
}
?>
Axeia
1.04.2009 0:53
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;
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)