(PECL imagick 2, PECL imagick 3)
ImagickDraw::pushPattern — 指示後續直到 ImagickDraw::popPattern() 命令的指令,組成一個命名樣式的定義
此函式目前沒有文件;僅提供其參數列表。
表示後續的指令,直到 DrawPopPattern() 指令為止,都屬於一個命名樣式的定義。樣式空間會被指定左上角座標、寬度和高度,並成為其自身的繪圖空間。任何可以繪製的元素都可以在樣式定義中使用。命名樣式可以用作筆畫或筆刷定義。
pattern_id
樣式的 ID
x
左上角的 x 座標
y
左上角的 y 座標
width
樣式的寬度
height
樣式的高度
範例 #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();
}
?>