Rellenar area irregular con PIL
Arnau Sanchez
pyarnau en gmail.com
Jue Nov 15 01:01:53 CET 2007
Buenas,
> Me da error en "get_pixel", AttributeError: ImageDraw instance has no
> attribute 'getpixel' ...
> Lo he probado con PIL 1.1.5 y 1.1.6, ¿con qué versión te funciona a ti?.
En el mensaje ya avisa que no usa directamente un objeto Image de PIL,
sino un wrapper propio. Las funciones equivalentes son getpixel() y
putpixel(), mírate la documentación. Aún te faltaría implementar
within(), pero es bastante sencilla. Subo un ejemplo con la clase
wrapper que me hice, para que lo veas en marcha:
http://tokland.iespana.es/fill.tgz
El show() fallará si no tienes en /usr/bin/xv un visualizador de
imágenes. Sirve cualquiera, el de imagemagick, feh, etc:
ln -s /usr/bin/display /usr/bin/xv
El código es un poco más largo que en el original porque he cambiado
algunas cosas: 1) ya no hay que decirle el color de borde, sino que
obtiene el color base de la posición inicial, todo lo que sea
"diferente" será el borde 2) hay un parámetro de umbral (threshold) que
indica la tolerancia en lo que considera borde.
arnau
pd: perdón por fastidiar el ID los hilos, pero no tengo acceso a los
correos originales.
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es