Skip to content
Related Articles

Related Articles

PyCairo – How to Preserve the clip ?
  • Last Updated : 26 Nov, 2020

In this article we will learn how we can preserve the clip using PyCairo in python. Preserving the clip means to establish 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.

PyCairo : Pycairo is a Python module providing bindings for the Cairo graphics library. This library is used for creating SVG i.e vector files in python. The easiest and quickest way to open an SVG file to view it (read only) is with a modern web browser like Chrome, Firefox, Edge, or Internet Explorer—nearly all of them should provide some sort of rendering support for the SVG format.  

SVG file is a graphics file that uses a two-dimensional vector graphic format created by the World Wide Web Consortium (W3C). It describes images using a text format that is based on XML. SVG files are developed as a standard format for displaying vector graphics on the web.

In order to this we will use clip_preserve() method with the Context object

Syntax : context.clip_preserve()



Argument : It takes no arguments

Return : It returns none

Note: The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.

Example :

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing pycairo
import cairo
  
# creating a SVG surface 
# here geek1 is file name &
# 700, 700 is dimension
with cairo.SVGSurface("geek1.svg", 700, 700) as surface:
      
    # creating a cairo context object
    context = cairo.Context(surface)
      
    #creating a arc without using closing path method
    context.arc(100, 60, 40, 0, 1*22/7)
      
    #stroke the context to remove the moved pen 
    context.stroke()
      
    #creating a arc with using close path method
    context.arc(300, 60, 40, 0, 1*22/7)
      
    #makeing close path
    context.close_path()
      
    # preserving the clip
    context.clip_preserve()
      
    #stroke the context to remove the moved pen 
    context.stroke()

chevron_right


Output :


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :