Php/docs/imagickdraw.setfillrule

提供:Dev Guides
< Php
移動先:案内検索

ImagickDraw::setFillRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillRule多角形の描画時に使用する塗りつぶしルールを設定する


説明

public ImagickDraw::setFillRule ( int $fill_rule ) : bool

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


多角形の描画時に使用する塗りつぶしルールを設定します。


パラメータ

fill_rule
FILLRULE_ 定数。


返り値

値を返しません。


例1 ImagickDraw::setFillRule()

<?phpfunction setFillRule($fillColor, $strokeColor, $backgroundColor) {    $draw = new \ImagickDraw();    $draw->setStrokeWidth(1);    $draw->setStrokeColor($strokeColor);    $draw->setFillColor($fillColor);    $fillRules = [\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD];    $points = 11;    $size = 150;    $draw->translate(175, 160);    for ($x = 0; $x < 2; $x++) {        $draw->setFillRule($fillRules[$x]);        $draw->pathStart();        for ($n = 0; $n < $points * 2; $n++) {            if ($n >= $points) {                $angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;            }            else {                $angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;            }            $positionX = $size * sin($angle);            $positionY = $size * cos($angle);            if ($n == 0) {                $draw->pathMoveToAbsolute($positionX, $positionY);            }            else {                $draw->pathLineToAbsolute($positionX, $positionY);            }        }        $draw->pathClose();        $draw->pathFinish();        $draw->translate(325, 0);    }    $image = new \Imagick();    $image->newImage(700, 320, $backgroundColor);    $image->setImageFormat("png");    $image->drawImage($draw);    header("Content-Type: image/png");    echo $image->getImageBlob();}?>