Pycairo – 创建不同的形状
在本文中,我们将看到如何在Python中使用Pycairo创建不同的形状。在pycairo中,主要有矩形和拱形两种形状,用于制作方形或半圆形等其他形状。多边形形状是在线条的帮助下创建的。
SVG文件是使用二维图形矢量格式的图形文件,该格式使用基于 XML 的文本格式定义图像。作为在 Web 上显示矢量图形的标准格式,开发了 SVG 文件。
PyCairo是一个Python模块,为cairo图形库提供绑定。该库用于在Python中创建 SVG,即矢量文件。为了安装pycairo模块,我们将使用下面给出的命令:
pip install pycairo
打开 SVG 文件进行查看(只读)的最简单快捷的方法是使用现代 Web 浏览器,如 Chrome、Firefox、Edge 或 Internet Explorer——几乎所有这些浏览器都应该为 SVG 格式提供某种渲染支持。
循序渐进的方法:
- 导入pycairo模块。
- 创建一个 SVG 表面对象并向其添加上下文。
- 使用矩形函数创建矩形和正方形。
- 现在使用笔画方法删除任何移动的笔线。
- 在笔划内使用圆弧方法创建一个四分之一圆和整圆,这样额外的线就会出现。
以下是基于上述方法的完整程序:
Python3
# 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 rectangle(square)
context.rectangle(50, 50, 100, 100)
#creating a rectangle
context.rectangle(200, 200, 100, 50)
#stroke the context to remove the moved pen
context.stroke()
#creating a Arc
context.arc(330, 60, 40, 500, 2*22/7)
#stroke the context to remove the moved pen
context.stroke()
#creating a Circle
context.arc(500, 60, 40, 0, 2*22/7)
# setting scale of the context
context.scale(700, 700)
# setting line width of the context
context.set_line_width(0.0025)
# setting color of the context
context.set_source_rgba(0, 0, 0, 1)
# stroke out the color and width property
context.stroke()
输出 :