(PECL imagick 2, PECL imagick 3)
ImagickDraw::pushPattern — Indica que os comandos subsequentes até um comando ImagickDraw::opPattern() compreendem a definição de um padrão nomeado
$pattern_id,$x,$y,$width,$heightEsta função não está documentada; apenas a lista de argumentos está disponível.
Indica que os comandos subsequentes até um comando DrawPopPattern() compreendem a definição de um padrão nomeado. O espaço do padrão recebe coordenadas do canto superior esquerdo, largura e altura, e se torna seu próprio espaço de desenho. Qualquer coisa que possa ser desenhada pode ser usada na definição de um padrão. Padrões nomeados podem ser usados como definições de traçado ou pincel.
pattern_idO Id do padrão
xcoordenada x do canto superior esquerdo
ycoordenada y do canto superior esquerdo
widthlargura do padrão
heightaltura do padrão
Exemplo #1 Exemplo de 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();
}
?>