ImagickDraw::pathLineToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToRelative直線パスを描画する

説明

public ImagickDraw::pathLineToRelative(float $x, float $y): bool
警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

現在の点から指定した座標まで、相対座標を使用して直線を描画します。 座標は新しい点に移動します。

パラメータ

x

始点の x 座標。

y

始点の y 座標。

戻り値

値を返しません。

add a note

User Contributed Notes 1 note

up
0
Axeia
16 years ago
Hope this of help of anything, I had one hell of a time to draw a simple pie slice, where in GD2 is very easily done with the 'arc' function.. this is a bit harder to do in imagick.The degrees are a mess, seems like the path, arc and ellipse functions all use a different system.. utterly confusing.Code below should at least be of help in understanding how it works.For an example of the output, please see: http://www.imagebam.com/image/8e0ca432393602<?php    function getPointOnCircumference( $widthOfCircle, $heightOfCircle, $degrees, $x = 0, $y = 0 )    {        return array(             'x' => $x + ($widthOfCircle/2)  * sin( deg2rad( $degrees ) ),            'y' => $y + ($heightOfCircle/2) * cos( deg2rad( $degrees ) )        );    }        $width  = 200;    $height = 200;    $border = 2;    $x = $width / 2;    $y = $height / 2;    $im = new Imagick();    $im->newImage( $width, $height, "orange", "png" );            $draw = new ImagickDraw();    $draw->setFillColor( 'lime' );    $draw->setStrokeColor( new ImagickPixel( 'black' ) );    $draw->setStrokeWidth( 2 );    $draw->arc( 0, 0, ($width-$border), ($height-$border), 270, 360  ); //270 till 360 degrees    $im->DrawImage( $draw );        $draw2 = new ImagickDraw();    $draw2->setFillColor( 'red' );    $draw2->setStrokeColor( new ImagickPixel( 'black' ) );    $draw2->setStrokeWidth( 2 );    $draw2->ellipse( 100, 100, $x-$border, $y-$border, 0, 90 );         //0 till 90 degrees    $im->DrawImage( $draw2 );        $draw3 = new ImagickDraw();    $draw3->setFillColor( 'navy' );    $draw3->setStrokeColor( new ImagickPixel( 'white' ) );    $draw3->setStrokeWidth( 2 );    $draw3->pathStart();      $degrees90  = getPointOnCircumference( $width-2*$border,$height-2*$border, 360  );      $degrees180 = getPointOnCircumference( $width-2*$border,$height-2*$border, 270 );      $draw3->pathMoveToRelative( $x, $y ); //Move 'pencil' to middle of image.      $draw3->pathLineToRelative(  $degrees90['x'],  $degrees90['y'] );      $draw3->pathEllipticArcRelative( $width-$border, $height-$border, 0, false, true, $degrees180['x'], $degrees180['y']-$y+$border );    $draw3->pathClose();    $im->DrawImage( $draw3 );            header( "Content-Type: image/png" );    echo $im;?>
To Top