当在PDF表面上出现超过大约一千个时,绘制一个实心圆圈的小数组会失败,但同一个上下文的PNG呈现没有问题。我尝试了一系列解决方案,不能轻易得到错误信息或其他线索 - 请提供任何想法? (在Mac OS X 10.12.6,安装最新的库)Pycairo在绘制100个填充图形时未能生成PDF
import cairo
Pi=3.14159265
# this works, Python 2.7
surface = cairo.PDFSurface("cairoTest.pdf", 595, 842)
cntxt = cairo.Context(surface)
cntxt.set_source_rgb(.3, .1, .6)
for xstep in range(0,50,1):
for ystep in range(0,31,1):
cntxt.arc(xstep*10.+30, ystep*10.+30, 3., 0., 2.*Pi)
cntxt.fill()
surface.write_to_png("example.png") # Output to PNG
surface.finish
# this produces zero-byte file
surface = cairo.PDFSurface("cairoTestFkd.pdf", 595, 842)
cntxt = cairo.Context(surface)
cntxt.set_source_rgb(.3, .1, .6)
for xstep in range(0,55,1):
for ystep in range(0,35,1):
cntxt.arc(xstep*10.+30, ystep*10.+30, 3., 0., 2.*Pi)
cntxt.fill()
surface.write_to_png("exampleFkd.png") # Output to PNG
surface.finish
'失败'意味着什么?有些圈子是隐形的,或者全部是隐形的?还是别的什么问题? – Iron
有时产生一个不可读的文件,但通常是一个零长度的PDF文件。 – Raras
surface.finish是一个函数 – lazka