Impresión en SISINF de WINDOWS

Para todos aquellos usuarios que pasaron sus aplicaciones de MS-DOS a WINDOWS o lo van a hacer, se tiene una nueva opción que permite pasarlas sin ningún problema.

Muchas aplicaciones usan caracteres de control al formar sus listados para cambiar los FONT, los tamaños de las letras, el espaciado, poner líneas, ... Esto NO se permite en WINDOWS en forma normal.

Para solucionar el problema antes descrito se tenía la opción de RAW al definir las impresoras, pero dicha opción NO trabaja en todas las máquinas por características de las impresoras y WINDOWS.

La nueva opción consiste en imprimir en MS-DOS, la forma de trabajo es:

  • Al ejecutar la aplicación en WINDOWS se pasa la impresión a un archivo.

  • Al terminar la impresión dicho archivo se pasa a una tarea de MS-DOS llamada DOSIMP la cual toma el archivo y lo imprime.

Para hacer uso de esta opción basta definir en el módulo CPS una impresora en WINDOWS que pase la información a DOSIMP.

Con lo anterior muchos usuarios se han cambiado de SISINF V5.1 de MS-DOS a la versión de WINDOWS prácticamente con solo instalar la versión de WINDOWS, configurar sus impresoras, definir los FONT a usar y definir el equivalente de SET SISINF.

Con esto también se resuelven dudas de algunos usuarios, en el sentido de que al comprar nuevos equipos estos traen WINDOWS como su Sistema Operativo y de que MS-DOS está ya en un segundo plano.

Actualización 5104 de SISINF PC

Para todos aquellos usuarios que ya compraron la versión V5.1 de SISINF para WINDOWS se les va a enviar a partir de Abril la última actualización, que incluye lo siguiente:

  • Impresión en MS-DOS con DOSIMP.

  • Imágenes en color verdadero.

  • Máscaras de fecha con año en 4 dígitos.

  • Nuevas rutinas del protector HASP.

Imágenes de color verdadero

El desplegado de imágenes en la computadora ha ido cambiando con las mejoras tecnológicas y desde hace tiempo se tiene la opción de COLOR VERDADERO. ¿En que consiste?.

Como se ha descrito en números anteriores de ENLACE las imágenes son una matriz de puntos llamados PIXELES, al desplegar dicha matriz se ve la imagen. Cada uno de los puntos o píxeles tiene asignado un color.

Las imágenes pueden ser en blanco y negro en cuyo caso cada píxel ocupa un bit, o bien ser de 16 colores ocupando 4 bits. Estas dos opciones que todavía se usan, eran lo que se tenían al inicio de los 90.

Posteriormente se tuvo la opción de 256 colores, en que cada píxel ocupa 8 bits y es el renglón de una tabla de 256 entradas. Cada entrada de la tabla tiene la cantidad de rojo-verde-azul o RGB para representar el color. Las imágenes son de mejor calidad pero se deben ajustar a 256 colores diferentes.

Ahora se tiene COLOR VERDADERO en que cada píxel ocupa 24 bits y es el RGB de ese punto. Con esto las imágenes se ven muy cerca de la realidad.

El problema que se tiene es que una imagen que se despliegue en toda la pantalla ocupa mas de un millón de bytes o sea mas de un mega de área en disco.

Para que NO ocupen tanta área de disco en SISINF se tenían algoritmos de COMPACTACION, los cuales funcionan bien en 256 colores ya que dichos algoritmos trabajan con repeticiones y en una imagen de éste tipo es posible que el fondo sea del mismo tono, por ejemplo azul. Estos algoritmos se llaman de diccionario por formar tablas de repeticiones.

En imágenes color verdadero los algoritmos anteriores NO funcionan debido a que entre dos píxeles lo mas probable es que los colores sean diferentes. Note que en éste caso cada píxel tiene la cantidad de rojo como un número de 0 a 255, la cantidad de verde de 0 a 255 y la cantidad de azul de 0 a 255. Así un píxel con color azul puede tener los valores de 60-98-253 y el siguiente también azul a la vista puede ser 61-98-253.

El algoritmo que se usa en SISINF es:

  • Cambiar cada punto del sistema RGB al sistema YUV en el cual Y es el brillo del píxel y la UV son el color azul y rojo sin brillo.

  • Tomar matrices de 8 por 8 píxeles y aplicarles un algoritmo de transformación llamado DCT (Transformación discreta de cósenos) y uno de cuantización o redondeo. Con lo anterior muchos de los valores de la matriz de 8 por 8 serán cero.

  • Aplicar un algoritmo de compactación del tipo estadístico en que el número que mas se repite se transforma a un número de pocos bits y el que menos se repite a un número de muchos bits.

Con este algoritmo se obtienen muy buenos resultados ya que una imagen de un millón de bytes la puede pasar a una de 200,000 bytes o hasta 20,000 bytes. El porque de la diferencia en el tamaño es por el algoritmo de redondeo.

En SISINF es posible especificar redondeo mínimo y así por ejemplo el color azul con valores 60-98-253 puede regresar después de aplicar el algoritmo para compactar a un valor de 61-98-253 lo cual será imperceptible a la vista. Si el redondeo es mayor puede ser un azul mas diferente.

En resumen se pueden tener en SISINF imágenes en color verdadero con o sin COMPACTAR. Si se compacta se puede especificar el redondeo como un número de 0 a 100. 0 es el mínimo y con una perdida mínima.

Para implementar estos algoritmos en SISINF fue necesario un trabajo de investigación de los mismos. Así las primeras pruebas de DCT tardaban 15 segundos en descompactar una imagen. Buscando otros algoritmos de DCT se logro que la descompactación fuera de 1 segundo en una máquina de 200 MHZ.