ImagickDraw::polyline

(PECL imagick 2, PECL imagick 3)

ImagickDraw::polylineDraws a polyline

说明

public ImagickDraw::polyline ( array $coordinates ) : bool
Warning

本函数还未编写文档,仅有参数列表。

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

参数

coordinates

array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

返回值

成功时返回 true

范例

Example #1 ImagickDraw::polyline()

<?php
function polyline($strokeColor$fillColor$backgroundColor) {
    
$draw = new \ImagickDraw();

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

    
$draw->setStrokeWidth(5);

    
$points = [
        [
'x' => 40 5'y' => 10 5],
        [
'x' => 20 5'y' => 20 5],
        [
'x' => 70 5'y' => 50 5],
        [
'x' => 60 5'y' => 15 5]
    ];

    
$draw->polyline($points);

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

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

?>

User Contributed Notes

kris at blackpepper dot co dot nz 10-Jun-2010 08:51
draw a filled Isosceles Triangle

<?php
$width
601;
$height = 601;

$max_x = $width  - 1;
$max_y = $height - 1;
$mid_y = $max_y / 2;
$mid_x = $max_x / 2;

$fillcolor = '#F00F00';

try {
       
$lo_img = new Imagick();
       
$lo_img->newImage( $width, $height, new ImagickPixel('transparent'));
       
       
$draw = new ImagickDraw();
       
       
$draw->setFillColor($fillcolor);
       
$draw->setStrokeWidth( 1 );

       
       
                           
//start point                  //end point   
       
$co_ords = array( array( 'x' => $mid_x, 'y' => 0 ),array('x'=>0,'y'=>$max_y)
                ,array(
'x' => 0, 'y' => $max_y ),array('x'=>$max_x,'y'=>$max_y)
                 ,array(
'x' => $mid_x, 'y' => 0 ),array('x'=>$max_x,'y'=>$max_y)
                );
       
       
       
       
$draw->polyline($co_ords);

       
$lo_img->drawImage( $draw );
       
       
$lo_img->setImageFormat( "png" );
       
       
       
header( "Content-Type: image/png" );
        echo
$lo_img;
       
       
$lo_img->destroy();
       
$draw->destroy();
        exit;
       
    } catch (
Exception $ex) {
       
print_r($ex);
        return;
    }
?>