ImageMagick 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
- the pattern Id
x
- x coordinate of the top-left corner
y
- y coordinate of the top-left corner
width
- width of the pattern
height
- height of the pattern
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
Examples
예제 #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();
}
?>