home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / python-cairo / examples / gradient.py next >
Encoding:
Python Source  |  2005-08-29  |  743 b   |  33 lines

  1. #!/usr/bin/env python
  2. """/cairo-demo/cairo_snippets/gradient.cairo translated to Python
  3. """
  4.  
  5. import math
  6. import cairo
  7.  
  8. WIDTH, HEIGHT  = 256, 256
  9.  
  10. surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
  11. ctx = cairo.Context(surface)
  12.  
  13. ctx.scale (WIDTH/1.0, HEIGHT/1.0)
  14.  
  15. pat = cairo.LinearGradient (0.0, 0.0, 0.0, 1.0)
  16. pat.add_color_stop_rgba (1, 0, 0, 0, 1)
  17. pat.add_color_stop_rgba (0, 1, 1, 1, 1)
  18.  
  19. ctx.rectangle (0,0,1,1)
  20. ctx.set_source (pat)
  21. ctx.fill ()
  22.  
  23. pat = cairo.RadialGradient (0.45, 0.4, 0.1,
  24.                             0.4,  0.4, 0.5)
  25. pat.add_color_stop_rgba (0, 1, 1, 1, 1)
  26. pat.add_color_stop_rgba (1, 0, 0, 0, 1)
  27.  
  28. ctx.set_source (pat)
  29. ctx.arc (0.5, 0.5, 0.3, 0, 2 * math.pi)
  30. ctx.fill ()
  31.  
  32. surface.write_to_png('gradient.png')
  33.