ImagickDraw::setClipRule

クリッピングパスで使用する多角形塗りつぶしルールを設定する

説明

public bool ImagickDraw::setClipRule(int $fill_rule)
警告

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

クリッピングパスで使用する多角形塗りつぶしルールを設定します。

パラメータ

fill_rule

FILLRULE 定数 (imagick::FILLRULE_*) のうちいずれか

戻り値

値を返しません。

例1 ImagickDraw::setClipRule の例

<?php
function setClipRule($strokeColor, $fillColor, $backgroundColor) {

    $draw = new \ImagickDraw();

    $draw->setStrokeColor($strokeColor);
    $draw->setFillColor($fillColor);
    $draw->setStrokeOpacity(1);
    $draw->setStrokeWidth(2);
    //\Imagick::FILLRULE_EVENODD
    //\Imagick::FILLRULE_NONZERO

    $clipPathName = 'testClipPath';
    $draw->pushClipPath($clipPathName);
    $draw->setClipRule(\Imagick::FILLRULE_EVENODD);
    $draw->rectangle(0, 0, 300, 500);
    $draw->rectangle(200, 0, 500, 500);
    $draw->popClipPath();
    $draw->setClipPath($clipPathName);
    $draw->rectangle(200, 200, 300, 300);

    $imagick = new \Imagick();
    $imagick->newImage(500, 500, $backgroundColor);
    $imagick->setImageFormat("png");

    $imagick->drawImage($draw);

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

?>