CairoContext::clipPreserve

cairo_clip_preserve

(PECL cairo >= 0.1.0)

CairoContext::clipPreserve -- cairo_clip_preserveEstablishes a new clip region from the current clip

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟� (method):

public CairoContext::clipPreserve ( void ) : void

锟斤拷锟教伙拷锟斤拷锟�:

cairo_clip_preserve ( CairoContext $context ) : void

Establishes a new clip region by intersecting the current clip region with the current path as it would be filled by Context.fill() and according to the current FILL RULE (see CairoContext::setFillRule() or cairo_set_fill_rule()).

Unlike CairoContext::clip(), CairoContext::clipPreserve() preserves the path within the Context. The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Calling CairoContext::clipPreserve() can only make the clip region smaller, never larger. But the current clip is part of the graphics state, so a temporary restriction of the clip region can be achieved by calling CairoContext::clipPreserve() within a CairoContext::save()/CairoContext::restore() pair. The only other means of increasing the size of the clip region is CairoContext::resetClip().

锟斤拷锟斤拷

context

A valid CairoContext object

锟斤拷锟斤拷值

没锟叫凤拷锟斤拷值锟斤拷

锟斤拷锟斤拷

Example #1 锟斤拷锟斤拷锟斤拷锟斤拷锟�

<?php

$surface 
= new CairoImageSurface(CairoFormat::ARGB325050);

$context = new CairoContext($surface);

$context->clipPreserve();

?>

Example #2 锟斤拷锟教伙拷锟斤拷锟�

<?php

$surface 
cairo_image_surface_create(CAIRO_FORMAT_ARGB325050);

$context cairo_create($surface);

cairo_clip_preserve($context);

?>

锟轿硷拷