2.   Imágenes:

 

 

2.1    Introducción:

 

Las imágenes pueden servir para guardar el LOGO de su empresa y usarlo en los reportes, en sistemas de nóminas o recursos humanos para tener fotos del personal y hacer credenciales.

 

También puede tener las imágenes de sus productos o bien imágenes marcadas para poder adentrarse a la información y que den idea de ciertas situaciones al verlas.

 

Como se verá su manejo es muy sencillo, los ejemplos son:.

 

·               Ejemplo de lectura, modificación y consulta de un LOGO

·               Ejemplo de impresión usando el LOGO

·               Ejemplo de manejo de imágenes

·               Ejemplo de imágenes marcadas en un mapa

·               Resumen

 

Al final se tienen recomendaciones para la DBD y un resumen de lo visto de imágenes.

 

2.2    Ejemplo de lectura, modificación y consulta de un LOGO:

 

Suponga que desea crear un archivo con las imágenes de los LOGO de empresas en un sistema que procesa varias empresas. Los pasos a seguir son:

 

A)      Cambios en DBD:

 

Definir en la DBD el archivo LOGO de la siguiente forma:

 

ARCHIVO LOGO 0 1 ' ' ' ' 0

RECURRENTE 0 R 10 M 0  'Logos' *

NUM-EMP     'Identificacion' '  #'  R0 LL1 N1 0 $

                                           MX ’ZZZ9'

NOM-EMP     'Nombre de empresa' *   R0 S X 30

LOGO-EMP    'Logo de la empresa' *  R0 S I

 

La estructura del archivo es igual a la que Usted ya conoce pero ahora se ha agregado un campo imagen. Note que en la definición de dicho campo NO se especifico el AREA de trabajo y de disco que se necesita para la imagen, por lo que se asumirá 2MB y 50K respectivamente que sirven para la mayoría de los casos. Mas adelante se verán otras opciones para cambiarlos.

 

B)      Programa ABM:

 

La estructura general del programa de agregar, quitar, modificar y consulta es la misma que Usted ya conoce, el cambio es en el área de IMAGEN la cual pudiera quedar para leer LOGO-EMP de la siguiente forma:

 

       OPCION TERMINAL AREA 3 /IMAGEN /BN VI $

           /COLOR BLANCO BLANCO NEGRO $

          /MARCO  /POS.  10   15 /LONG.  11  50 $

          /MOD-1-GLOBAL  /ESC-2-GLOBAL /ESC-3-GLOBAL $

          /TECLAS-DE-FUNCION 1 'Terminar'  $

          /CONFIRMAR /CONFIRMAR-1 /CONFIRMAR-2 /TIEMPO 0 0 $

          /CAMPOS  2 3 'Logo:'  $

          2 15 LOGO-EMP  /VAR. /LEC.  /LONG. 18  /RENG. 9  

 

Las áreas de IMAGEN son muy parecidas a las de RENGLON con la diferencia de que los campos son imágenes. Note que también es necesario especificar el tamaño del recuadro en donde se despliega la imagen para ello se usan las opciones de /LONG. y /RENG. con el número de columnas a ocupar y el numero de renglones. En este caso los valores son 18 y 9 y aunque se pudiera pensar que el recuadro para la imagen es un rectángulo, no lo es, puesto que los renglones son casi del doble de tamaño de las columnas por lo que en este caso será casi un cuadrado.

 

C)      Instrucciones para el manejo en el programa:

 

Las variables del tipo imagen son iguales a las demás. Así para leer de terminal o de disco se pondría:

 

LEER TERMINAL EJECUTA 50 LOGO-EMP

INSERTAR DISCO LOGO NUM-EMP NOM-EMP LOGO-EMP

 

Los pasos aquí descritos se encuentran en la DBDSSI y en el programa PSSIB1 se recomienda que lo ejecute, Al " los programas" también se tenían algunas imágenes que pueden servir de prueba. (LOGO.PNG)

 

Como nota adicional si Usted tiene un logo que NO sea cuadrado, puede modificar tanto el PSSIB1 como el PSSIB2 para que las opciones de /LONG. y /RENG. Queden acordes. Por ejemplo si su logo tiene un ancho del doble del alto puede poner en el área 3 un /LONG. 38 (Ajustando la posición 2 15 a 2 10 ) y en la de OPCION IMPRIMIR poner /LONG. 80

Si no lo hace sobre todo en la impresión la imagen del logo se centrará en el recuadro y posiblemente NO tenga la presentación deseada.

 

También es importante señalar que solo se aceptan los formatos de imágenes GIF, JPG y PNG para la lectura de imágenes.

 

2.3    Ejemplo de impresión usando el LOGO:

 

En el programa PSSIB2 se usa el LOGO en una impresión se sugiere que lo ejecute y luego revise el programa. Algunos puntos relevantes al uso de  imágenes en este programa se discuten a continuación:

 

A)      Lectura de la imagen de disco:

 

Las instrucciones son familiares para Usted, Ahora solo se ha puesto la variable imagen en la lectura.

 

                LEER DISCO LOGO NOM-EMP LOGO-EMP

 

B)      Poner el LOGO en OPCION IMPRIMIR:

 

Se define la primer línea del encabezado y el logo con:

 

      /ENC. 1 LOGO-EMP /V /AVANCE-AL-FINAL /RENG. 40 /LONG. 40 $

 

La explicación es la siguiente:

 

·          En la columna 1 se imprime la variable LOGO-EMP.

·          En la opción /ENC. al poner nombres de variable asume el letrero de la misma,  la opción /V indica que es el contenido lo que se desea imprimir.

·          En normal cada línea ocupa en puntos el del tipo de letra mayor que se use, si hay imágenes entonces será el mayor de ambos.  Con la opción /AVANCE-AL-FINAL la imagen se imprimirla  junto a las tres líneas de encabezado, es decir el avance será el mayor  entre la imagen y las  líneas de encabezado.

·          También se especifican los renglones /RENG. y las columnas a usar /LONG. en puntos de la imagen.

 

Si Usted NO esta familiarizado con las nuevas instrucciones de impresión se da la siguiente explicación:

 

        OPCION IMPRIMIR  /NO-RENGLON-INICIAL  /MARCO-D $

          /SELECCIONAR-PAGINAS /ARCHIVO /BORRAR $

 

·          Se define que no se desea el renglón inicial que pone SISINF con  /NO-RENGLON-INICIAL.

·          Se pide un marco en todo  el reporte con  /MARCO-D.

·          Que el usuario pueda seleccionar las páginas a imprimir cuando este reporte se despliegue por la PC con  /SELECCIONAR-PAGINAS.

·          Se va a crear un archivo con /ARCHIVO y si ya existe se borra con la opción /BORRAR.

 

          /DEFINIR-FONT    'SUIZO' 12 -10  $

          /DF1 'SUIZO' 14 -8  $

 

·          Con /DEFINIR-FONT se define el font que se llama en SISINF el font 0, base para el calculo de todas las columnas en donde se imprimirá la información. El font 0 se definió del tipo SUIZO de 12 puntos de tamaño y 10 de espaciado. Se pudo haber puesto /DF.

·          Con /DF1 se define el font 1 del tipo SUIZO de 14 puntos de tamaño y con un espaciado de 8 caracteres por pulgada. Los puntos son los mismos que se utilizan en un procesador de palabras al escoger los font. Se pudo haber puesto /DEFINIR-FONT-1..

 

Se define la primer línea de encabezado con la imagen tal como ya se explicó, el nombre de la empresa, la  página del reporte y el total de páginas que lo forman.

 

        /ENC. 1   LOGO-EMP  /V /AVANCE-AL-FINAL /RENG. 40 $

                                                /LONG. 40 $

              20  NOM-EMP /V   /F1 /CEL $

              60  'Página'  $

              7   PAG  /I /V /MOVER-PAGINA  /JD  $

              3   '/'  /I  $

              1   TOT  /I /V /R1 /JI $

 

Una explicación de como hacerlo seria:

 

·          En la columna 20 se imprime el nombre de la empresa que está en la variable NOM-EMP. Igual que con la imagen se usa /V para indicar que se use el contenido.

·          La variable se desea imprimir con el font tipo 1 por lo que se puso /F1.

·          La opción /CEL sirve para indicar que se centre en la línea y por lo tanto se ignore el 20. Esta opción NO esta disponible en todas las versiones de SISINF por lo que se podrá usar el 20 para definir la columna.

·          En la columna 60 se pondrá el letrero de "Página" como no se especifico el font a usar se usará el 0.

·          Se imprime el contendido (/V) de PAG con 7 columnas de incremento de la impresión anterior (/I) o sea la columna 67 .

·          Antes de hacer la impresión del encabezado, como SISINF lleva el contador de paginas en forma interna, se pone /MOVER-PAGINA para que lo mueva a esta variable PAG.

·          Por ultimo el valor de PAG se imprimirá justificado a la derecha /JD

·          En 2 columnas de incremento se pondrá el letrero de "/" Note que la variable PAG tiene máscara Z9 es decir ocupa 2 columnas.

·          Por último con 1 columna de incremento (/I) se imprimirá el contendido (/V) de la variable TOT y justificado a la izquierda /JI.

·          SISINF permite que cuando se genera un archivo (/ARCHIVO) se remplacen valores cuyo valor NO se conoce sino hasta el final, es decir cuando dicho archivo ya esta generado. Tal es el caso del total de páginas del reporte que NO se conocen sino hasta el final. Se permite hacer 5 reemplazos por lo que en este caso se puso /R1 para indicar que se remplazará al final y que es el primero.

 

Después se definen las siguientes dos líneas de encabezado y al final el pie de pagina. Los siguientes comentarios son aplicables:

 

·          Con AP 5 al final del último encabezado se pide que avance 5 puntos (/AP o /AVANCE-PUNTOS) esto es para separar el encabezado y la primera línea de detalle.

·          Con /PIE se define un pie de pagina, las reglas para hacerlo son las mismas que en /ENC. puede haber varios.

 

Al final de la generación del archivo se puso:

 

         TOT = PAG

         OPCION IMPRIMIR /REMPLAZAR-ARCHIVO TOT

 

Es decir, el ultimo valor de la página se pasa a TOT y este valor es el que se remplaza en el archivo. si hubiera mas reemplazos, aquí se pondrían.

 

Por ultimo se tiene la rutina de desplegar e imprimir se sugiere se examine ya   que es una buena opción para  usarse como rutina general en varios  programas.

 

2.4    Ejemplo de manejo de imágenes:

 

El objetivo del programa PSSIB3 es ejemplificar el uso de varias opciones de las áreas de IMAGEN y de MENU.

 

Para ello se definió el archivo IMA con dos imágenes  y el nombre de las mismas en la DBDSSI, en este  programa se tiene la lógica para agregar, modificar, quitar o consultar las imágenes guardadas en dicho archivo.

 

El programa es NO CLAVES por lo que las imágenes que se AGREGAN se hacen al final, asignando el próximo número de identificación.

 

Para la modificación, quitar o consultar se pide una letra y se despliegan solo las imágenes cuya primer letra del nombre sea igual o bien si solo se da RETURN todas. Con esto se selecciona la que se quiere modificar, quitar, ...

 

En el caso de consultar esta puede ser por agrandar / reducir o por acercamientos. En el primer caso se despliega la imagen y el área se puede hacer mas grande o mas pequeña. En el segundo caso se pueden hacer acercamientos por posición o por recuadro.

 

Se sugiere que lo ejecute en su máquina para una mejor compresión de los comentarios. Junto con los programas de los ejemplos se tienen varias imágenes que pueden usarse con este programa.

 

Algunos comentarios sobre el programa PSSIB3 son:

 

·          La lógica general del programa es seleccionar primero lo que se desea, si es AGREGAR se lee el nombre y las fotos. Para MODIFICACION y QUITAR se lee una letra para desplegar aquellas fotos cuyo nombre inicia con dicha letra. Una vez seleccionada se procede a la opción. En el caso de consulta se hace primero el proceso de selección y luego se procede a desplegar ya sea en una área que se puede agrandar o reducir o bien en otra área con acercamientos.

·          Las áreas de IMAGEN son parecidas a las de RENGLON así el área 3 ahora tiene dos imágenes FOTO-1 y FOTO-2. Esta área se usa para la lectura, modificación, la consulta y para quitar.

·          Las áreas de MENU como es el caso de la 5 y 7 son áreas donde también se permiten imágenes bajo dos formas. La primera que es el caso del área 5 las fotos están arriba y el nombre abajo. En el caso del área 7 es a la inversa, es decir el nombre arriba y las fotos abajo. Cabe aclarar que se permite también tener solamente imágenes de forma que se puede tener un menú de íconos de una aplicación y que al seleccionar alguno se ejecute un programa.

·          El área 8 es un caso especial del área de IMAGEN en que el tamaño de la misma es variable (En esto se parece a las de TEXTO) la restricción es que solo puede contener UN campo imagen. Para este ejemplo esta área se usó para desplegar la imagen y poder agrandarla o reducirla.

·          Las áreas 9, 10 y 11 son áreas de imagen que con las opciones de acercamientos de /ACERCAR-POSICION 70  /NO-REDUCIR (Ver la imagen tal cual es con "scroll") y /ACERCAR-RECUADRO 50  cambia la forma en que se despliega la imagen. Estas opciones solo son aplicables cuando se escribe.

 

2.5    Ejemplo de imágenes marcadas en un mapa:

 

Se construirá un ejemplo de imágenes marcadas, el problema a resolver es el siguiente: Su empresa tiene varias fabricas de un producto en la república Mexicana y se desea que el sistema despliegue el mapa de México con una marca en las ciudades donde están las fabricas  y al posicionarse en una de ellas despliegue la  gráfica de producción de los trimestres del año.

 

Básicamente es necesario hacer dos programas uno para el registro del mapa con sus marcas que es quizá mas para el departamento de sistemas y otro para la consulta por parte del usuario final de la información.

 

Cuando una imagen se lee, es posible marcarla. Este  proceso consiste en poner en un punto de la imagen que se esta leyendo una marca que tiene asignado un  número, un cierto tipo (Cuadro, triángulo, ...) una  cierta dimensión o tamaño, un color de fondo y un color de marco. Esta información se guarda junto          con la imagen.

 

Cuando una imagen marcada se despliega en un área de  /MENU con /SELECCIONAR-MARCA se puede leer el número de la marca que el usuario seleccione y así proceder al siguiente paso del proceso.

 

A cada marca se puede asociar una descripción para que en el proceso de selección por parte de usuario aparezca dicha descripción al posicionar el ratón sobre la marca. Esta información se agrega a la imagen antes de desplegarla.

 

Para el ejemplo que se esta proponiendo la imagen  sería un mapa de México y las marcas serían las plantas que se tienen. El número de la marca seria el número de la fabrica o planta. La descripción puede ser el  nombre de la planta.

 

 

 

En este caso se hicieron 3 programas, la función de cada uno es la siguiente:

 

·          El PSSIC1 es para registrar el mapa y sus marcas. Como una extensión al problema original permite registrar varios mapas ya que uno puede apuntar a otro. Es decirse puede tener el mapa de la república y este apuntar al  de las ciudades y es estas estar varias plantas.

 

·          El PSSIC2 es el que despliega el mapa y posicionándose en una marca despliega la gráfica de producción.

 

·          El PSSIC3 es parecido al PSSIC1 pero la forma de marcar es diferente al generar internamente los números de marca, así como el tipo, dimensión, ..

 

Ejecute el PSSIC1 en su máquina, registre el mapa (junto con los programas viene un mapa) con numero 1000  y nombre México, luego se lee de archivo el  mapa y marque varios puntos, con numero de marca 1, 2,...  Después de marcar aparecen unas posibles descripciones de los nombres de la plantas para que Usted los modifique o solo de RETURN para dejarlos igual.  Ejecute el PSSIC2 para que vea el resultado.

 

 

Los siguientes comentarios son aplicables al programa PSSIC1:

 

·          La lógica general es la misma de los ABM como el de logos de empresa (PSSIB1) pero ahora el área 3 de IMAGEN para la lectura, modificación y consulta tiene una nueva opción que es /MARCAR con esto después de leer la imagen se procede a que el usuario seleccione el tipo de marca de entre circulo, cruz, rombo, ... Escoja también el tamaño, el color del marco y del fondo de la misma. Por ultimo se asigna un numero y al dar botón izquierdo del ratón donde se desea quede registrada. Para borrar una marca primero se posiciona sobre ella con el ratón y se da botón derecho. Con esto en la variable imagen IMA-MAPA se tiene tanto la imagen propiamente tal, como sus marcas.

 

·          Por la forma de trabajo de los programas, el numero de la marca será el  mismo que se lee en el programa PSSIC2 cuando el usuario se posicione sobre la marca. Por lo anterior dichos números deben de tener una relación con los números de las plantas o bien si va ligado a otro mapa debe ser el número del mapa. NOTA IMPRORTANTE: Por forma de trabajo de los programas se asume que el mapa con número 1000 es el primero.

 

·          El archivo MAPAS tiene en el R0 el mapa y en el R1 información sobre las marcas que tiene dicho mapa. Al ejecutar PSSIC1 y seleccionar la opción de AGREGAR un mapa, este se inserta en el R0 después de leerlo junto con sus marcas pero se necesita generar también el R1 de dicho mapa. La información del R1 es el numero de la marca, la descripción de la marca (misma que se desplegara en el programa PSSIC2) y si se liga a otro mapa con un SI o NO. La lógica del programa para crear el R1 con los número de marca, una posible descripción y que NO hay liga a otro mapa  es:

 

    NUM-MARCA = 0

    MOVER 'NO' A OTRO-MAPA

26  FORMAR IMAGEN IMA-MAPA /SACAR-MARCA NUM-MARCA $

        /ERROR 46

    MOVER 'Planta #' A DES-MARCA

    MOVER NUM-MARCA A DES-MARCA /AGREGAR

    INSERTAR DISCO MAPAS NUM-MARCA DES-MARCA OTRO-MAPA

    EJECUTA 26

 

La instrucción de FORMAR IMAGEN tiene la opción de /SACAR-MARCA, al poner NUM-MARCA = 0, buscara por la primera y dejará en la misma variable el número. Con esto se genera la información y se inserta. Al volver a ejecutar ahora buscará la siguiente marca después del valor actual de NUM-MARCA, ... si ya no hay saldrá por /ERROR y en este caso se irá a modificar las descripciones.

 

·          Al ejecutar PSSIC1 y seleccionar la opción de MODIFICACION de un mapa, Usted puede volver a leer la imagen o cambiar el área de interés o dejarla igual. También agregar o borrar marcas. Una vez modificada se deberá revisar si todas las marcas de la imagen están en el R1 o se borraron algunas. La lógica en el programa es:

 

36  BUSCAR RECURRENTE MAPAS 1 EJECUTA 40 SIG.

    LEER DISCO MAPAS NUM-MARCA

    FORMAR IMAGEN IMA-MAPA /LEER-MARCA NUM-MARCA $

             TIPO-MARCA DIM-MARCA CF-MARCA CM-MARCA $

             /ERROR 38

    EJECUTA 36

38  BORRAR RECURRENTE MAPAS 1

    EJECUTA 36

 

·          Se lee el R1 y un número de marca, se revisa si está en la variable  IMA-MAPA con la opción /LEER-MARCA con lo cual también se puede conocer su tipo, dimensión y colores. Si no está, se sale por /ERROR y se procede a borrarla del R1. Continuando con MODIFICACION se tiene una lógica parecida a la de AGREGAR para revisar si se agregaron marcas.

 

·          La lógica de consulta y quitar un mapa es parecida a la que Usted ya conoce.

 

 

Los siguientes comentarios son aplicables al programa PSSIC2:

 

·          Este programa recorre primero el R1 de todos los mapas y si la variable OTRO-MAPA tiene un valor de NO se asume que es una planta o fabrica. Entonces se procede a  pone unos valores supuestos de la producción en el mismo R1. Aquí Usted debe poner su lógica para hacer este cálculo.

 

·          Luego busca el mapa 1000 y le agrega las descripciones de marca con la siguiente lógica:

 

     20    NUM-MAPA = 1000

     22    BUSCAR DISCO MAPAS EJECUTA 26 PRIN-G1 NUM-MAPA

           LEER DISCO MAPAS IMA-MAPA

     24    BUSCAR RECURRENTE MAPAS 1 EJECUTA 30 SIG.

           LEER DISCO MAPAS NUM-MARCA DES-MARCA

           FORMAR IMAGEN IMA-MAPA /OPCIONES-MARCA $

                               NUM-MARCA DES-MARCA

           EJECUTA 24

 

Es decir recorre el R1 saca el numero de marca y descripción y ejecuta FORMAR IMAGEN con opción  /OPCIONES-MARCA.

 

·          Una pregunta que Usted se puede hacer es  porqué hasta ahora  se pone la   descripción. La explicación es:

 

a)       Cuando se modifica una variable IMAGEN esta debe contener imágenes propiamente y marcas NO puede tener figuras, descripciones, otra imagen, ...

b)       Si se hubieran integrado a la imagen NO se podría cambiar su descripción.

c)        Ciertos errores se diagnostican cuando la imagen se despliega o se imprime. Un caso sería el de agregar descripciones con el mismo número. Entonces ya no habría forma de quitarlas

 

·          Cuando se despliega la imagen de un mapa en un área de /MENU con /SELECCIONAR-MARCA y el usuario selecciona con el ratón una de ellas se regresa el numero de la misma al hacer la lectura:

 

           30   OPCION TERMINAL AREA 10 /DESPLEGAR

          ESCRIBIR TERMINAL IMA-MAPA

     32   LEER TERMINAL EJECUTA 34 NUM-MARCA

 

Se procede a buscar la marca en el R1 y si es liga a otro mapa se procede a hacer nuevamente el desplegado  Si no se procede a formar la gráfica de producción de  la planta y desplegarla como se vio en los programas de gráficas, como el PSSIA1.

 

·          Un dato importante es el renglón y la columna donde está la marca mismos que se sacan con SACAR PARAMETROS RENGLON-COLUMNA con esto se puede desplegar la gráfica de forma que NO tape a la marca.

 

·          También se puso tiempo en las marcas de forma que con SACAR PARAMETROS SELECCIONADO se sabe si se selecciono o solo está posicionado. Con esto se despliega también con confirmar o con tiempo la gráfica de estadísticas.

 

Los siguientes comentarios son aplicables al programa PSSIC3:

 

Por ultimo el programa PSSIC3 tiene las funciones del PSSIC1 pero la forma de hacerlo es diferente ya que la asignación de números de marcas cuando son ligas entre mapas lo hace internamente. La forma de trabajar  partiendo de que NO hay información seria de la siguiente:

 

·          Con la opción 'Agregar imagen mapa' se agrega el mapa inicial, solo se lee la imagen NO sus marcas.

 

·          Ejecutando varias veces 'Agregar marca' se da la información de la misma como es su descripción, si es liga a otro mapa y el número de la planta o fábrica. Luego  se procede a señalar en la imagen donde esta la marca.  En este caso el tipo, dimensión y colores se asigna internamente.

 

·          Si hay liga entre mapas con la primer opción se agregan los mapas y con la segunda sus marcas.

 

·          Ejecute al final 'Revisar' para ver que todo esté bien.

 

·          También se tienen opciones para modificar ya sea un mapa o las descripciones, se puede también quitar un mapa o una marca. Y cambiar el tipo, dimensión y colores de una marca.

 

Se recomienda ejecute el PSSIC3 partiendo de que NO hay  información.

 

En resumen el programa PSSIC3 es mas amigable ya que  hace el proceso de marcar más fácil ya que el usuario final solo señala donde va la marca y todo lo demás como es número, tipo, ... se maneja en forma interna.   Lo mismo los casos de quitar marca en que el usuario solo selecciona cual quitar y NO como en el PSSIC1 que la tiene que quitar de la imagen.  Los siguientes comentarios son aplicables a la lógica del programa:

 

·          Primeramente antes de desplegar la opción del menú revisa qué mapas faltan por agregar, para ello recorre todos los R1 y los que sean liga a otro mapa los pasa a una lista, luego revisa los que NO existen o NO tienen imagen y los pasa a otra lista. Para saber si tiene imagen se usa:

 

        LEER DISCO MAPAS IMA-MAPA

          SACAR PARAMETROS CARACTERES-DE-IMAGEN CAR-IMA

          SI CAR-IMA > 0 EJECUTA 18

 

Es decir al leer la imagen deja disponible para  SACAR PARAMETROS el total de bytes de la imagen, si son 0 no hay una imagen guardada en la variable.

·          La primer opción es 'Agregar imagen mapa' se lee la imagen en un área de IMAGEN que NO tiene /MARCAR.

 

·          La opción del programa de  'Agregar marca' lee primeramente la descripción y si es liga a otro mapa. Si este dato es NO lee el número de la planta o fábrica. Si es SI buscar el siguiente número de mapa. Después se procede a MARCAR la imagen, para ello se tiene el área 22:

 

       OPCION TERMINAL AREA 22 /IMAGEN /BN VI $

          /COLOR BLANCO BLANCO NEGRO  /CONFIRMAR $

          /AGREGAR-MARCA NUM-MARCA 'ROMBO' 20  $

                         'AMARILLO' 'AMARILLO' $

          /MARCO  /POS.  12 44  /LONG.  10  36  $

          /CAMPOS  2 3 IMA-MAPA  /VAR. /MOD.  $

                      /LONG. 32  /RENG. 8

 

Esta área es de IMAGEN, modificación y tiene la opción de /AGREGAR-MARCA la cual la hace un caso especial ya que el usuario solo debe oprimir botón izquierdo del ratón para indicar dónde va la marca. Es decir se va a modificar la imagen pero solo para agregarle la marca. Note como el  número (NUM-MARCA), el tipo ('ROMBO'), la  dimensión (20) y los colores  de fondo y marco ('AMARILLO') se definieron por programa y NO los selecciona el usuario.                                      

 

·          Con la opción del programa de 'Modificar imagen mapa' se procede a modificar ya sea el área de interés o bien cambiar la imagen. En el primer caso se pueden perder marcas y en el segundo se pierden todas. Por lo anterior se recorre el R1 y se busca cada marca en la imagen con /LEER-MARCA. Si una marca está en el R1 y no está en la imagen se pasa a una lista para posteriormente pedir que se marque.

 

·          La opción del programa de  'Cambiar marca' saca la información de la misma de la imagen con /LEER-MARCA, luego se procede a leer la nueva información y se cambia en la imagen con /CAMBIAR-MARCA Si algún valor NO esta en rango NO se cambia.

·          La opción del programa de  'Quitar marca' quita el R1 de la marca y con /BORRAR-MARCA la quita de la imagen.

 

Por último como una extensión al programa PSSIC2 se  puede cambiar el tamaño y color de las marcas de acuerdo a la producción de cada planta y con ello hacer mas objetivo el desplegado del mapa.

 

2.6    Imágenes en la DBD:

 

Tal como se ha comentado las variables tipo imagen se pueden usar tal como se ha descrito, sin embargo se tienen 4 parámetros que se pueden poner al definirlas en la DBD los cuales son:

 

               ESC-AGRANDAR

               ESC-NO-AGRANDAR

               ESC-REDUCIR

               ESC-NO-REDUCIR

 

Cuando una imagen se lee de un archivo, ésta tiene ciertas dimensiones en pixeles dependiendo del dispositivo  con que se capturó. Luego SISINF permite que se disminuya el área de interés con lo cual sus medidas se pueden reducir. De esta forma se guarda en disco.

 

Cuando una imagen se va a desplegar o a imprimir, el  recuadro para hacerlo tiene unas ciertas dimensiones en pixeles. SISINF tiene que hacer un proceso de ajuste que está bajo control del programador por esta diferencia de tamaños.

 

Si se permite AGRANDAR y REDUCIR, la imagen se cambia para llenar el recuadro. Si NO se permite agrandar la imagen y esto era necesario, entonces esta se centra dentro del recuadro. Si no se permite reducir la imagen y esto era  necesario, esta se trunca en el recuadro.

 

En general las imágenes como fotos de personas, paisajes,... se puede pedir que se puedan agrandar y reducir.  En el caso de iconos o gráficas, estos pueden ser  distorsionados en este proceso de agrandar o reducir,   por lo que es mejor cancelarlos o hacer pruebas de cómo se ven.

 

En el caso de logos si estos se generan con medidas grandes (Cuando se lee la imagen se da el dato del tamaño en pixeles)  no se verán afectados en un proceso de reducción, si tienen  medidas pequeñas y contienen letras, es posible que se  distorsionen en el proceso de agrandar.  

 

Cabe mencionar que las gráficas creadas con SISINF se generan en un  tamaño igual al del área en donde se van a desplegar o imprimir, razón por la cual NO se distorsionan.

 

Para variables de AREA se asume ESC-NO-AGRANDAR  y ESC-NO-REDUCIR

 

Para variables de ARCHIVO se asume ESC-AGRANDAR  Y ESC-REDUCIR

 

Note que en los ejemplos aquí descritos para las GRAFICAS se usaron variables de AREA y aunque NO se van a agrandar o reducir éstas se forman de acuerdo al tamaño del área. En cambio para las imágenes  se usaron variables de archivo que por valor preestablecido permiten agrandar o reducir.

 

Otra opción que se puede usar con campos imagen es la de AREA en que se especifica el área de trabajo máxima y el área promedio a usar en disco. Si no se especifica se asume 4000 y 100, que son aceptables para  muchos casos.

 

Las opciones MEDIDA, MEDIDA-P,  COLOR y BN  NO se deben usar con V7.1,  ya que  son ignoradas .  Internamente se asume una imagen cuadrada que se cambia con las opciones ya descritas (/LONG. Y /RENG.)  y para propósitos de revisión  de la definición del archivo se asume COLOR 256.

 

En esta versión las imágenes se leen y almacenan con los colores y formato de pixeles que tengan, NO se hace ninguna conversión como en V7.0  de PC o anteriores, de forma que si Usted  desea desplegar Imágenes en tonos de gris, debe leerlas en tonos de gris. 

 

2.7    Resumen de imágenes:

 

Las imágenes pueden tener múltiples usos, desde los más sencillos para LOGOS o FOTOS, hasta el marcado de imágenes.   Los conceptos nuevos en áreas de terminal son:

 

·               Se tiene en el área tipo /MENU la opción de /SELECCIONAR-MARCAS con lo cual se asume que se selecciona una imagen marcada.

·               En el área tipo /MENU de variables se pueden tener también imágenes, ya sea solas o con otro tipo de variables.

·               El área de /IMAGEN es muy parecida a la de /RENGLON pero ésta solo acepta letreros y variables imagen.

·               Un caso especial es el de una sola imagen y con opción de /LONG-MAX para el área.

·               Los casos especiales del área de /IMAGEN referentes a marcas son el de /MARCAR con lo cual se asume que al leer o modificar se desea marcar la imagen. Y el otro caso es el de /AGREGAR-MARCA que en modificación agrega una marca a la imagen.

·               Los casos especiales del área de /IMAGEN referentes a la escritura son los de acercamientos ya se /ACERCAR-POSICION  /NO-REDUCIR   /ACERCAR-RECUADRO.

 

Para el caso de la instrucción de FORMAR IMAGEN se agregan las opciones de marcas que son:

     /SACAR-MARCA               Número

     /LEER-MARCA                  Número Tipo Dimensión Color-fondo Color-marco

     /CAMBIAR-MARCA          Número Tipo Dimensión Color-fondo Color-marco

     /BORRAR-MARCA       Número

     /BORRAR-MARCAS

     /INCLUIR-MARCA          Número

     /INCLUIR-MARCAS

     /ERROR                              Etiqueta

 

Las opciones de incluir sirven solo cuando se imprime  la imagen ya que en forma normal NO se ponen las marcas.

 

Es importante señalar que para que una imagen pueda tener marcas se debe de usar /MARCAR al leer o modificar o el /AGREGAR-MARCA al modificar.

 

Los valores de los tipos de marca son:

 

Número

Nombre

0

'CUADRO '

1

'TRIANGULO' 

2

'FLECHA-DERECHA'

3

'FLECHA-ARRIBA' 

4

'FLECHA-ABAJO'

5

'FLECHA-IZQUIERDA'

6

'ROMBO'

7

'ASTERISCO'

8

'CIRCULO'

9

'CRUZ'

10

'ESTRELLA'

 

Los valores permitidos de la dimensión son de 3 a 50.