【发布时间】:2021-12-15 12:07:50
【问题描述】:
我有一个test.py 脚本,我就是这样使用的:
>>> import test
>>>
内部test.py:
import cairo
sfc = cairo.SVGSurface("test.svg", 720, 720)
ctx = cairo.Context(sfc)
ctx.set_source_rgb(.5, .5, 1)
ctx.arc(360, 360, 300, 0, 6.28)
ctx.fill()
在我在控制台中Ctrl+D 之前,我没有得到svg 输出。
一旦导入模块,使用上下文管理器 (with cairo.SVGSurface("test.svg", 720, 720) as sfc:) 会立即生成 svg 文件。但是,在我的(更大的)项目中,我在构造函数中声明了表面,并且绘图是在一个方法中制作的......所以我不能使用上下文管理器。
如何“关闭”表面?
【问题讨论】: