Python R2


Python + Cairo

Posted in Python por Arturo Elias Antón en 15 mayo 2009
Tags: , , , , , ,

Estaba en casa arreglando mi cuarto cuando de pronto me encontre con una nota de la revista  mundo linux donde decia

“Cairo es una completa librería gráfica que permite la renderización tanto a pantralla como a impresora de gráficos en 2D. El trabajo con gráficos vectoriales, la integración con GTK+ y OpenGL son características fuertes. Si a esto le sumamos la utilización de un lenguaje como Python, la productividad está asegurada “

De esta misma nota saque un Script de demo que pondré aquí.

import cairo
WIDTH, HEIGHT = 600, 400

def draw_spiral (ctx, width, height):
	wd = 0.02 * width
        hd = 0.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')

Como siempre espero que les guste en la próxima integrare Cairo con GTK+ pero como eso no estaba en la revista me va a llevar mas tiempo jejejeje 😛

Anuncios