|Portada|Blog|Space|

[Índice] > MidpSSH gráfico

Holas nuevamente.

Les quería comentar en esta oportunidad que comencé a aumentar el
potencial del MidpSSH con un desarrollo que hacía tiempo que quería
entrarle: La posibilidad de usar secuencias de escape para poder mostrar
imágenes, acá pueden ver el soporte inicial que permite cargar una
imagen en blanco y negro de 1-bit con soporte a bits transparentes:

http://flickr.com/photos/fideo/2435892425/

Por algo se empieza.

Lo bueno es que para transmitir las imágenes basta con hacer un echo,
usando obviamente las secuencias de escape adecuadas. Por ejemplo para
mostrar una carita feliz arriba a la izquierda:

echo -n -e "\033P0;0;7;7;0*0000000001010000101000000000010001000111000000000"

La sintaxis es bien fácil:

ESC "P" x ";" y ";" width ";" height ";" codec "*" datos_de_la_imagen

Aparte le implementé varios features adicionales:

  * Una vez enviada la imagen, es posible desplazarla sin tener que
    redefinirla.

  * El texto y la imagen están en capas separadas, por lo que es posible
    tener texto en el fondo de las imágenes y que no produzca efectos
    raros.

Y cosas que voy a implementar:

  * Soporte de imágenes a escala de grises y a color.

  * Mecanismo (básico por lo menos) para enviar imágenes comprimidas.

  * Soporte a múltiples sprites, de forma que sea posible hacer
    programas más avanzados.

  * Alguna forma de redefinir una parte del sprite sin tener que
    redefinirlo completamente.

  * Algún tipo de mecanismo para poder realizar transformaciones (como
    scroll, transformaciones lineales a los canales, etc) a cada sprite
    del lado de la tty, nuevamente, sin tener que reenviarlo.

  * Un visor de imágenes (seguramente usando imlib2) que envíe estas
    secuencias de escape, y un visor de PDFs usando probablemente gs.

Cuando tenga más avanzado todo esto voy a publicar el diff del código,
los binarios y herramientas adicionales para enviar imágenes.

---------
Los documentos en este sitio se encuentran licenciados bajo la GFDL.
Ver comentarios: [Hay i comentarios]
Para agregar un comentario: agregue a la URL: ?do=show_comment_form (explicación)