Estaba pensando hacer una recetilla sobre Cairo y Gtk, algo sencillo, transparencias (adiós) y demás, pero me he encontrado a alguien... ¡que ya lo ha hecho! Increíble en estos tiempos... :-p Así que me limito a poner el enlace de su artículo, por si a alguien le interesa:
  1. Cairo: La máquina de dibujo de Gnome
  2. Tutorial de pyCairo en Inglés
Un saludo a TODOS. ACTUALIZADO: Ultimamente, esto me ha resultado muy útil: cómo renderizar una imagen SVG usando librsvg (en python). He aquí el código:
# -*- coding: utf-8 -*-
import cairo, gtk, rsvg, sys

class myApp:
    def __init__(self, filename):
        mw = gtk.Window(gtk.WINDOW_TOPLEVEL)
        mw.connect("delete_event", gtk.main_quit)

        svg = rsvg.Handle(filename)

        da = gtk.DrawingArea()
        da.set_size_request(svg.props.width, svg.props.height)
        da.connect("expose_event", self.expose, svg)

        mw.add(da)
        mw.show_all()


    def expose(self, da, event, svg):
        ctx = da.window.cairo_create()
        svg.render_cairo(ctx)


if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "Uso: %s fichero.svg" % sys.argv[0]
    else:
        try:
            app = myApp(sys.argv[1])
            gtk.main()
        except KeyboardInterrupt:
            pass


blog comments powered by Disqus