(PECL imagick 2, PECL imagick 3)
ImagickDraw::pushPattern — Configure un espace de dessin
$pattern_id
,$x
,$y
,$width
,$height
Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
Configure ImagickDraw pour que les commandes jusqu'à la fonction DrawPopPattern() incluent la définition d'un nom de motif. L'espace de motif reçoit les coordonnées du coin supérieur gauche, de la hauteur et largeur, et devient un espace de dessin en lui-même. Tout ce qui peut être dessiné peut être dessiné dans un motif. Des motifs peuvent aussi définir des traits ou des brosses.
pattern_id
L'identifiant du motif
x
L'abscisse du coin supérieur gauche
y
L'ordonnée du coin supérieur gauche
width
La largeur du motif
height
La hauteur du motif
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Exemple #1 Exemple avec 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();
}
?>