塗りつぶした円の小さな配列を描くことは、PDFサーフェスに約1000以上も表示されますが、同じコンテキストのPNGレンダリングは問題ありません。私は解決策の範囲を試して、簡単にエラーメッセージや他の手がかりを得ることができません - 任意のアイデア、してください?問題は奇妙なMSコード(Visual Studioの)問題であることが判明する(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