當在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