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

    (PECL imagick 2.0.0)

    Indicates that subsequent commands up to a ImagickDraw::opPattern()command comprise the definition of a named pattern

    说明

    ImagickDraw::pushPattern(string $pattern_id,float $x,float $y,float $width,float $height): bool
    Warning

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

    Indicates that subsequent commands up to a DrawPopPattern()command comprise the definition of a named pattern. The pattern space is assigned top left corner coordinates, a width and height, and becomes its own drawing space. Anything which can be drawn may be used in a pattern definition. Named patterns may be used as stroke or brush definitions.

    参数

    $pattern_id

    the pattern Id

    $x

    x coordinate of the top-left corner

    $y

    y coordinate of the top-left corner

    $width

    width of the pattern

    $height

    height of the pattern

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Example #1 ImagickDraw::pushPattern()

    <?php
    function pushPattern($strokeColor, $fillColor, $backgroundColor) {
        $draw = new \ImagickDraw();
        $draw->setStrokeColor($strokeColor);
        $draw->setFillColor($fillColor);
        $draw->setStrokeWidth(1);
        $draw->setStrokeOpacity(1);
        $draw->setStrokeColor($strokeColor);
        $draw->setFillColor($fillColor);
        $draw->setStrokeWidth(1);
        $draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
        for ($x = 0; $x < 50; $x += 10) {
            for ($y = 0; $y < 50; $y += 5) {
                $positionX = $x + (($y / 5) % 5);
                $draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
            }
        }
        $draw->popPattern();
        $draw->setFillOpacity(0);
        $draw->rectangle(100, 100, 400, 400);
        $draw->setFillOpacity(1);
        $draw->setFillOpacity(1);
        $draw->push();
        $draw->setFillPatternURL('#MyFirstPattern');
        $draw->setFillColor('yellow');
        $draw->rectangle(100, 100, 400, 400);
        $draw->pop();
        $imagick = new \Imagick();
        $imagick->newImage(500, 500, $backgroundColor);
        $imagick->setImageFormat("png");
        $imagick->drawImage($draw);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }
    ?>