PyCairo - 绘制负弧
在本文中,我们将学习如何在Python中使用 PyCairo 绘制简单的负弧。将给定半径的圆弧添加到当前路径。圆弧以 (xc, yc) 为中心,从角度 1 开始,并沿角度减小的方向前进到角度 2 结束。如果角度 2 大于角度 1,它将逐渐减小 2π,直到小于角度 1。
PyCairo :Pycairo 是一个Python模块,为 cairo 图形库提供绑定。该库用于在Python中创建 SVG,即矢量文件。打开 SVG 文件进行查看(只读)的最简单快捷的方法是使用现代 Web 浏览器,如 Chrome、Firefox、Edge 或 Internet Explorer——几乎所有这些浏览器都应该为 SVG 格式提供某种渲染支持。
SVG文件是使用万维网联盟 (W3C) 创建的二维矢量图形格式的图形文件。它使用基于 XML 的文本格式描述图像。 SVG 文件是作为在 Web 上显示矢量图形的标准格式而开发的。
实施步骤:
- 导入 Pycairo 模块。
- 创建一个 SVG 表面对象并向其添加上下文。
- 使用 arc_negative() 创建负弧。
下面是实现:
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 normal arc
context.arc(100, 60, 40, 0, 1*22/7)
# stroke the context to remove the moved pen
context.stroke()
# creating a negative arc
context.arc_negative(500, 60, 40, 0, 1*22/7)
# stroke the context to remove the moved pen
context.stroke()
# printing message when file is saved
print("File Saved")
输出: