ImagickDraw::pushClipPath()
(PECL imagick 2.0.0)
Starts a clip path definition
说明
ImagickDraw::pushClipPath(string $clip_mask_id): bool
Warning本函数还未编写文档,仅有参数列表。
Starts a clip path definition which is comprised of any number of drawing commands and terminated by a ImagickDraw::popClipPath()command.
参数
- $clip_mask_id
Clip mask Id
返回值
没有返回值。
Here's an interactive example for your enjoyment, featuring two intersecting discs. My version doesn't antialias the clipping path; I suppose YMMV. <?php // Simple clip path example // Bogdan Stancescu $showClipping=1; // Try setting this to 0! $showDrawing=1; // Try setting this to 0! // Don't edit below this line (at least until you understand the example) $showBoth=$showClipping && $showDrawing; $showAny=$showClipping || $showDrawing; $image=new Imagick(); // Create image // Image size $width=151; $height=101; $image->newImage($width, $height, new ImagickPixel('lightgray')); // some visible background $draw=new ImagickDraw(); // Create draw object if ($showBoth) $draw->pushClipPath('circle_left'); // Start clipping path if ($showClipping) { $draw->setFillColor('red'); // The color doesn't matter if we clip $draw->circle(50,50,50,0); // A circle that occupies 100x100px on the left } if ($showBoth) { $draw->popClipPath(); // Finish clipping path $draw->setClipPath('circle_left'); // Use the clipping path above } if ($showDrawing) { $draw->setFillColor('navy'); // This is the actual drawing color $draw->circle(100,50,100,0); // A circle that occupies 100x100px on the right } if ($showAny) $image->drawImage($draw); // Render $draw unto $image $image->setImageFormat('png'); // Tell ImageMagick how to render this header("Content-Type: image/png"); // Tell the browser how to render this echo $image; // Render the image into the browser ?>