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

2 comentarios to 'Python + Cairo'

Subscribe to comments with RSS o TrackBack to 'Python + Cairo'.

  1. shakaran said,

    Estaría bien que cuando pusieras un script, pusieras un ejemplo de salida o un pantallazo, es mucho más visual y mejorarás la comprensión de lo que quieres hacer.

    Saludos

  2. writkas said,

    Si la imagen :S


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: