Open In App

PyCairo – Restrict to SVG version

In this article, we will see how we can restrict to SVG file version in pycairo using Python.

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.



The SVG specification was updated to version 1.1 in 2011. There are two ‘Mobile SVG Profiles,’ SVG Tiny and SVG Basic, meant for mobile devices with reduced computational and display capabilities.

In order to use the we will use restrict_to_version with SVG surface object



Syntax : restrict_to_version()

Argument : It takes SVG version as argument

Return : It returns non




# importing pycairo
import cairo
 
# getting all the svg versions available
versions = surface.get_versions()
 
# Selecting version from list
version = versions[1]
 
# creating a SVG surface
# here geek95 is file name & 700, 700 is dimension
with cairo.SVGSurface("geek95.svg", 700, 700) as surface:
 
    # Restriction to version
    surface.restrict_to_version(version)
 
    # creating a cairo context object
    context = cairo.Context(surface)
 
    # creating a rectangle(square)
    context.rectangle(10, 10, 100, 100)
 
    # setting color of the context
    context.set_source_rgba(0.4, 1, 0.4, 1)
 
    # stroke out the color and width property
    context.fill()
 
# printing
print("SVG version")

Output:

 SVG version

Note : This function should only be called before any drawing operations have been performed on the given surface. The simplest way to do this is to call this function immediately after creating the surface.

Article Tags :