• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • CairoContext::clip()

    (PECL cairo >= 0.1.0)

    Establishes a new clip region

    说明

    面向对象风格(method):

    publicCairoContext::clip(void): void

    过程化风格:

    cairo_clip(CairoContext$context): void

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

    After CairoContext::clip() or cairo_clip(), the current path will be cleared from the cairo 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::clip() or cairo_clip() 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::clip() or cairo_clip() within a CairoContext::save()/CairoContext::restore() or cairo_save()/cairo_restore() pair. The only other means of increasing the size of the clip region is CairoContext::resetClip() or procedural cairo_reset_clip().

    参数

    $context

    A valid CairoContext object

    返回值

    没有返回值。

    范例

    Example #1 面向对象风格

    <?php
    $surface = new CairoImageSurface(CairoFormat::ARGB32, 50, 50);
    $context = new CairoContext($surface);
    $context->clip();
    ?>
    

    Example #2 过程化风格

    <?php
    $surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 50, 50);
    $context = cairo_create($surface);
    cairo_clip($context);
    ?>
    

    参见

    • CairoContext::resetClip() The resetClip purpose
    • cairo_reset_clip() The resetClip purpose