🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.demos
Article #2999

Formato BMP - bmp-info.txt [01/01]

#2999
From: Alfredo Jose Martinez Tinoco
Date: Tue, 20 May 1997 00:00
99 lines
5609 bytes
Esto es simplemente una informaci�n �til si quieres saber c�mo visualizar 
una imagen con formato BMP RGB Windows (no RLB).
El formato no es complicado pero no es f�cil de recordar por eso hice alg�n 
tiempo este Trainner.
Notar�s que no he anotado la posici�n del 1er byte donde empieza la 
informaci�n sobre las dimensiones de la imagen.... Probablemente sea por que 
no tengo ni idea.(Ya sabes, si lo averiguas me lo cuentas).

Bueno eso es todo.Espero que os sea �til.
BEGIN -- Cut Here -- cut here
                //////////////////////////////////////
                /13-Abril-97.Instructor FORMATO BMP. /
                /Alfredo Mart�nez Tinoco.            /
                /E-Mail: almarti@eui.upv.es          /
                //////////////////////////////////////
                ��������������������������������������  
                �       AV/Gregorio Gea 91-9         �
                �             Mislata                �
                �           (Valencia)               �
                �            (Spain)                 �
                �          (The world)               �
                ��������������������������������������

                ************************************
                *       Simple descriptor          *
                *        del formato BMP           *
                *         Windows RGB              *
                ************************************



N� byte         Contenido
=======         ==========================================================
55              RGB vector. Contiene la paleta de colores correspondientes
                a la imagen.

                RGB= C�digo "Red-Green-Blue".Curiosamente este codigo apa-
                rece invertido: 1� B,2� G y 3� R y a cada triplete RGB le
                sigue un byte con valor 0 (que creo que no tiene ningun 
                significado). De modo que el vector ser� de la forma:
                        B G R 0 B G R 0 B G R 0.........

                Cada componente del triplete ocupa un byte y tiene un va-
                lor m�ximo de 255 (255*255*255= 16M de colores...tenemos 
                una pareta de aproximadamente de 16 millones de colores).
                Tenemos que tener en cuenta que si estamos en el modo
                320x200x256c s�lo disponemos de una paleta de 262144 colores
                =64*64*64. Cada componente del triplete sigue ocupando un
                byte pero alcanza un valor m�ximo de 63 ([0,63]) .
                Esto quiere decir que si deseamos ver la imagen en este mo-
                do gr�fico habr�a que hacer una conversi�n de la paleta a-
                plicando una simple regla de 3: 
                                                255->63
                                                C--->x
                Es decir: Cada componente del triplete RGB "C" tendr� el
                nuevo valor C=(63/255)*C.


                Si la imagen es de 256 colores habr�n 256 c�digos RGB, cada
                codigo RGB ocupa 3 bytes +1 byte=0, entonces se deduce con
                una simple c�lculo que el tama�o del vector RGB=256*4=1Kb.


55+1024=1079    Aqu� se encuentra el vector de p�xels de la imagen. 
                Como hecho adrede para complicarnos la decodificaci�n los
                p�xel no est�n ordenados de la forma que cabr�a esperar.
                El 1er p�xel no corresponde a la esquina superior izquierda.
                Y el �ltimo p�xel tampoco corresponde a la esquina inferior
                derecha.
                Pero realmente esto no nos va a complicar mucho m�s los c�l-
                culos, el orden es el que sigue:
                        -El 1er p�xel corresponde a la �ltima l�nea.
                        -El �ltimo p�xel corresponde a la �ltima posici�n
                         de la 1� l�nea.
                        -El algoritmo de recorrido de los p�xels:

                           Para x=199 hasta 0 hacer
                                Para x=1 hasta 320 hacer
                                   Lee_sig_byte(Fichero)
                                   Guarda_byte(Imagen[x*320+x])
                                finPara
                           finPara
                        
                        -El vector que obtendr�amos despu�s de ejectar el
                         algoritmo s� que estar�a ordenado de modo que con
                         una simple intrucci�n MOVS podr�amos volcarla so-
                         bre la pantalla.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*NOTA: En Turbo Pascal Vx.x la posici�n 0 en un fichero corresponde al 1er
        byte.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

                           Yar mind Rulez! B)
                                

END -- Cut Here -- cut here
Technical Details
Message-ID: <5lrv3l$pks@maia.cc.upv.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: fdc65,f8c488e0d27d641c,start
X-Google-Attributes: gidfdc65,public
From: almarti@eui.upv.es (Alfredo Jose Martinez Tinoco)
Subject: Formato BMP - bmp-info.txt [01/01]
Date: 1997/05/20
Message-ID: <5lrv3l$pks@maia.cc.upv.es>
X-Deja-AN: 242829413
Organization: UPV
Newsgroups: es.comp.demos