[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] paint en gtk




Si, gpaint sin duda es el ejemplo que Jorge esta buscando. Ahora, como recomendacion para un paint hecho como ejercicio, creo que la mejor idea es hacer un "frontend" de libgd. http://www.boutell.com/gd/

libgd es una biblioteca que te permite "pintar" en una imagen en memoria, misma que luego puedes enviar a pantalla usando un gtkdrawingarea (o lo que sea que gtk 2.0 use). Con eso, heredas inmediatamente todas las cualidades de libgd, que aunque no tienes que implementar inmediatamente, puedes eventualmente ir soportando funcion por funcion de gd, incluyendo fuentes, arcos, textos, relleno, copy y paste.

Otra opcion es ImageMagick, que sin duda es mas completo, pero puede ser mas complicado. Se pueden buscar rpms para ambos en http://rpmfind.net/

La aplicacion es simple: se tiene un buffer en memoria, proveido por libgd, que es enviado a pantalla a traves de un drawing area cada vez que se hace una modificacion en la ventana correspondiente, se produce un evento tipo expose, o se realiza una operacion de dibujo. Cada herramienta de la aplicacion llama a una o varias funciones de libgd sobre el buffer en memoria, pasando varios parametros, proveidos por clicks o drags con el mouse sobre el drawing area (callbacks a eventos de gtk). Al terminar las manipulaciones, el drawing area es actualizado con el buffer en memoria de nuevo. Salvar y cargar imagenes es trivial, usando la misma biblioteca.

Hacer undo/redo puede ser sencillo: por cada operacion que se realice, en vez de reemplazar el buffer existente, se crea uno nuevo al cual se copia el viejo y entonces se le aplican los cambios. Esto se guarda en una lista y ya esta. Para salvar memoria, se pueden crear buffers menores, unicamente con la parte afectada, junto con el origen de los cambios, y calcular con copy/paste el resultado anterior de la imagen al dar undo. Un ejercicio interesante.

The GIMP no es un buen ejemplo porque es demasiado complejo: layers, canales, mini-tiles y selecciones complican enormemente el codigo, como para ser comprensible por un principiante. Sodipodi es una aplicacion tipo draw, como dice Christian, de vectores, donde cada trazo en el area de trabajo es un objeto independiente, que puede ser sujeto a manipulaciones posteriores en cualquier momento. gpaint es una aplicacion tipo raster, de la que se busca, pero sin las complicaciones de The GIMP.

Saludos,
Arturo

From: Roberto Villarreal <roberto villarreal en funktiontech com>
To: ayuda en linux org mx
Subject: Re: [Ayuda] paint en gtk
Date: Wed, 30 Oct 2002 14:04:52 -0600

De hecho hoy en Freshmeat.net salió el anuncio de la version 0.2.2.1 de GNU Paint

Encuentralo en:

http://www.gnu.org/software/gpaint/

Saludos

On Wed, 30 Oct 2002 7:31:29 GMT
linuxlst en netropology com wrote:

> On Wed, 30 Oct 2002 01:08:54 -0400 "Jorge Rafael Torres C." wrote:
>
> > Me pueden ayudar, quiero hacer un paint en Gtk, en el que pueda trazar
> > líneas con diferentes colores y diferentes grosor de líneas.
> >
> > si me pueden pasar uno mucho mejor.
>
> Por que no intentas con GIMP
>
> /usr/bin/gimp
>
>
>
> Saludos
>            Francisco Vázquez
>
> This message powered by EMUMAIL. -- http://www.EMUMAIL.com
> _______________________________________________
> Ayuda mailing list
> Ayuda en linux org mx
> Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/
_______________________________________________
Ayuda mailing list
Ayuda en linux org mx
Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/


_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail

_______________________________________________
Ayuda mailing list
Ayuda en linux org mx
Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/



[Hilos de Discusión] [Fecha] [Tema] [Autor]