Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera
Cocina Casera Código para diferentes compiladores, creado por nuestros foreros, probado y listo para usar.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] como insertar una imagen jpg en una impresion mhnico RM/COBOL 1 1 de marzo de 2021 17:32
[Componente] Cambio de formato de ficheros PDF a JPG Begoguay PowerCOBOL (ActiveX, v4 - v11) 1 28 de octubre de 2019 13:43
[Herramienta] Convertir Label a JPG Anthony AcuCobol 2 23 de julio de 2016 00:54

Respuesta

  #1
Antiguo 1 de abril de 2015, 17:13
Adrianeloy
Forero Junior
Última Actividad 24.11.2020 17:31
Posts Posts: 39
Likes enviados Enviados: 29
Likes recibidos Recibidos: 34

Comparto este programita que lee el ancho y alto de cualquier JPG, sin recurrir a bibliotecas, OCX ni API. Cambien el nombre del JPG en la FILE-CONTROL.

Código COBOL:
  1.  IDENTIFICATION  DIVISION.
  2.  PROGRAM-ID. "ANCHOYALTOJPG" COMMON.
  3.  ENVIRONMENT DIVISION.
  4.     INPUT-OUTPUT SECTION.
  5.  FILE-CONTROL.
  6.             SELECT OPTIONAL JOTAPEGE
  7.             LOCK MODE IS AUTOMATIC WITH LOCK ON RECORD
  8.             ASSIGN TO "C:\IMAGEN.JPG".
  9.  DATA DIVISION.
  10.  FILE SECTION.
  11.   FD  JOTAPEGE.
  12.   01 CABEZAJPG PIC X(755).
  13.  
  14.  
  15.  WORKING-STORAGE SECTION.
  16.   77 CARACTER1 PIC X.
  17.   77 CONTANDO PIC 9(5).
  18.   01 CONVIERTEASCII.
  19.      05 VALORCARACTER2.
  20.         10 VALORCARACTER PIC X.
  21.         10 FILLER PIC XXX.
  22.      05 VALORDECIMALCOMP3 REDEFINES VALORCARACTER2 PIC 9(6) USAGE COMP-5.
  23.      05 VALORDECIMAL PIC 9(6).
  24.   77 BYTE1 PIC 9(6).
  25.   77 BYTE2 PIC 9(6).
  26.   77 ANCHOJPG PIC 9(6).
  27.   77 ALTOJPG PIC 9(6).
  28.  
  29.  
  30.  PROCEDURE DIVISION.
  31.  
  32.  
  33.      OPEN INPUT JOTAPEGE.
  34.      READ JOTAPEGE.
  35.      CLOSE JOTAPEGE.
  36.  
  37.      MOVE 120 TO CONTANDO.
  38.  BUSCACARACTER.
  39.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  40.      MOVE CARACTER1 TO VALORCARACTER.
  41.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  42.      IF VALORDECIMAL NOT = 255 GO SUBECAR.
  43.  
  44.      ADD 2 TO CONTANDO.
  45.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  46.      MOVE CARACTER1 TO VALORCARACTER.
  47.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  48.      IF VALORDECIMAL NOT = 0 GO SUBECAR.
  49.  
  50.      ADD 1 TO CONTANDO.
  51.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  52.      MOVE CARACTER1 TO VALORCARACTER.
  53.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  54.      IF VALORDECIMAL NOT = 17 GO SUBECAR.
  55.  
  56.      ADD 1 TO CONTANDO.
  57.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  58.      MOVE CARACTER1 TO VALORCARACTER.
  59.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  60.      IF VALORDECIMAL NOT = 8 GO SUBECAR.
  61.  
  62.      ADD 1 TO CONTANDO.
  63.      GO HALLECARACTER.
  64.  SUBECAR.
  65.      ADD 1 TO CONTANDO.
  66.      IF CONTANDO NOT = 755 GO BUSCACARACTER.
  67.  NOHAYNADA.
  68.      DISPLAY "ERROR: LA IMAGEN TIENE UN FORMATO JPG FUERA DEL STANDARD".
  69.      GO FIN.
  70.  HALLECARACTER.
  71.  
  72.  
  73.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  74.      MOVE CARACTER1 TO VALORCARACTER.
  75.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  76.      MOVE VALORDECIMAL TO BYTE1.
  77.  
  78.      ADD 1 TO CONTANDO.
  79.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  80.      MOVE CARACTER1 TO VALORCARACTER.
  81.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  82.      MOVE VALORDECIMAL TO BYTE2.
  83.  
  84.      COMPUTE ALTOJPG = BYTE1 * 256 + BYTE2.
  85.  
  86.      ADD 1 TO CONTANDO.
  87.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  88.      MOVE CARACTER1 TO VALORCARACTER.
  89.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  90.      MOVE VALORDECIMAL TO BYTE1.
  91.  
  92.      ADD 1 TO CONTANDO.
  93.      MOVE CABEZAJPG (CONTANDO:1) TO CARACTER1.
  94.      MOVE CARACTER1 TO VALORCARACTER.
  95.      MOVE VALORDECIMALCOMP3 TO VALORDECIMAL.
  96.      MOVE VALORDECIMAL TO BYTE2.
  97.  
  98.      COMPUTE ANCHOJPG = BYTE1 * 256 + BYTE2.
  99.  
  100.      DISPLAY "ANCHO=" ANCHOJPG " ALTO=" ALTOJPG.
  101.  
  102.  
  103.  FIN.
  104.  END PROGRAM "ANCHOYALTOJPG".
Archivos Adjuntos
Tipo de Archivo: txt VERALTOYANCHOJPG.txt (2,8 KB)Descargas: 155
Adrianeloy is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:57.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.