sábado, 3 de julio de 2010

ASCII Art con Python [Actualizada]

[Actualizado, añadidos más caracteres y arreglado el problema con el unicode]

Hoy traigo algo curioso, un script que hace ASCII Art a partir de una frase cualquiera.

El script se puede descargar aquí [asciichars.py]

Los parámetros son ./asciichars.py [ -s <espaciado> ] [ <frase> ]

El espaciado es (obviamente) el espacio entre los caracteres, por defecto 8. Y la frase, lo que aparecera en el ASCII Art (si no se especifica, se pedirá durante la ejecución).

La verdad, no tengo muy claro como explicarlo :D, así que para muestra un botón
./asciichars.py -s 10 "#28"


Los caracteres que hay son:



0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z [Espacio] ! # | + - = . ] [



El juego completo de caracteres...

Hasta otra!

6 comentarios:

  1. Bonita aplicación jajaja, interesante lo de

    "DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"

    Lo comparto =P, interesante code, ya lo estoy estudiando, parece simple, ya tengo mi nombre en ascii!

    http://i48.tinypic.com/2ep0ytk.jpg

    ResponderEliminar
  2. Si, es una licencia bastante curiosa xD [ http://sam.zoy.org/wtfpl/ ]

    Y si, el código es bastante simple... Python power !

    ResponderEliminar
  3. Para evitar que las líneas fueran demasiado largas y se truncaran, he encontrado como solución sustituir el contenido de la línea 25 por:

    llen = (lonx - 1) * (spacing) + 15

    Así las líneas son lo más ajustadas posible teniendo en cuenta que las "letras ascii" más "anchas" ocupan 15 caracteres.

    Por cierto, que a los usuarios de Trisquel este ascii (con problema de truncamiento incluido) ya nos suena de algo... ¿verdad? ;)

    Saludos!

    ResponderEliminar
  4. Gracias, añadido, la verdad es que mosqueaba bastante ese detalle :)

    Y si, es verdad, la idea vino al ver (e intentar arreglar) las letras de Trisquel :D

    ResponderEliminar