• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ImagickDraw::setFillRule()

    (PECL imagick 2.0.0)

    Sets the fill rule to use while drawing polygons

    说明

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

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

    Sets the fill rule to use while drawing polygons.

    参数

    $fill_rule

    FILLRULE_ constant

    返回值

    没有返回值。

    范例

    Example #1 ImagickDraw::setFillRule()

    <?php
    function 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();
    }
    ?>