| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/pycairo-1.8.6/examples/ |
Upload File : |
#!/usr/bin/env python
"""cairo/cairo-demo/png/spiral.c translated into Python
"""
import cairo
WIDTH, HEIGHT = 600, 600
def draw_spiral (ctx, width, height):
wd = .02 * width
hd = .02 * height
width -= 2
height -= 2
ctx.move_to (width + 1, 1-hd)
for i in range(9):
ctx.rel_line_to (0, height - hd * (2 * i - 1))
ctx.rel_line_to (- (width - wd * (2 *i)), 0)
ctx.rel_line_to (0, - (height - hd * (2*i)))
ctx.rel_line_to (width - wd * (2 * i + 1), 0)
ctx.set_source_rgb (0, 0, 1)
ctx.stroke()
surface = cairo.ImageSurface (cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
ctx = cairo.Context(surface)
ctx.set_source_rgb (1, 1, 1)
ctx.set_operator (cairo.OPERATOR_SOURCE)
ctx.paint()
draw_spiral (ctx, WIDTH, HEIGHT)
surface.write_to_png('spiral.png')