(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
,$height
Esta 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_id
O Id do padrão
x
coordenada x do canto superior esquerdo
y
coordenada y do canto superior esquerdo
width
largura do padrão
height
altura 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();
}
?>