PHP 8.1.0 RC 2 available for testing

ImagickDraw::pushPattern

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushPatternУказывает, что последующие команды вплоть до ImagickDraw::opPattern() составляют определение именованного паттерна

Описание

public ImagickDraw::pushPattern(
    string $pattern_id,
    float $x,
    float $y,
    float $width,
    float $height
): bool
Внимание

К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только список аргументов.

Указывает, что последующие команды вплоть до DrawPopPattern() содержат определение именованного паттерна. Пространству паттерна назначаются координаты верхнего левого угла, ширина и высота, и оно становится пространством для рисования. Всё, что можно нарисовать, можно использовать в определении паттерна. Именованные паттерны могут использоваться в качестве определений обводки или кистей.

Список параметров

pattern_id

ID паттерна.

x

Координата x левого верхнего угла.

y

Координата y левого верхнего угла.

width

Ширина паттерна.

height

Высота паттерна.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #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"005050);
    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(100100400400);
    
$draw->setFillOpacity(1);

    
$draw->setFillOpacity(1);

    
$draw->push();
    
$draw->setFillPatternURL('#MyFirstPattern');
    
$draw->setFillColor('yellow');
    
$draw->rectangle(100100400400);
    
$draw->pop();

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

    
$imagick->drawImage($draw);

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

?>

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top