Dec-c++ manejo de ficheros bmp

Solo disponible en BuenasTareas
  • Páginas : 5 (1132 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de septiembre de 2010
Leer documento completo
Vista previa del texto
Profesor: Juan Antonio López Quesada

MANEJO DE FICHEROS BMP
typedef unsigned short int WORD; // 16 bits o 2 bytes typedef unsigned char BYTE; // 8 bits typedef unsigned long DWORD; // 32 bits o 4 bytes

Números enteros sin signo
• •

Tipos "unsigned" de C Representan solamente la magnitud, en forma binaria. Permiten almacenar números desde 0 hasta (2^n) - 1 n se refiere al número de bitsusados para representar

• • •

Números de 1 byte sin signo: 0 a 255: unsigned char Números de 2 bytes sin signo: 0 a 65535: unsigned short Números de 4 bytes sin signo: 0 a algo más de 4 mil millones: unsigned long

La siguiente tabla muestra todas las combinaciones que se ajustan al estándar ANSI junto con sus rangos mínimos y longitudes aproximadas en bits. Tipo: Tamaño en bits Rangochar: 8 -127 a 127 unsigned char: 8 0 a 255 signed char: 8 -127 a 127 int: 16 -32767 a 32767 unsigned int: 16 0 a 65535 signed int: 16 -32767 a 32767 short int: 16 -32767 a 32767 unsigned short int: 16 0 a 65535 signed short int: 16 -32767 a 32767 long int: 32 -2147483647 a 2147483647 signed long int: 32 -2147483647 a 2147483647 unsigned long int: 32 0 a 4294967295 float: 32 seis dígitos de precisióndouble: 64 diez dígitos de precisión long double: 64 diez dígitos de precisión 1 Bit = 0,1 1 Byte = 8 Bits 1Mb = 1024 Bytes 16 Bits = 1 Word 32 Bits = Double Word (Procesadores 80386)

Manejo de Ficheros BMP

Profesor: Juan Antonio López Quesada

El formato BMP (Windows BitMaP) es probablemente el formato de fichero para imágenes más simple que existe. Aunque teóricamente permitecompresión, en la práctica nunca se usa, y consiste simplemente en una cabecera y a continuación los valores de cada pixel, comenzando por la línea de más abajo y terminando por la superior, pixel a pixel de izquierda a derecha. Parece ser el formato preferido por Bill Gates. Su única ventaja es su sencillez. Su gran desventaja es el enorme tamaño de los ficheros. Un ejemplo en Turbo Pascal. TYPEBitMapHeader=RECORD {BitMap File Header} bfType:INTEGER; bfSize:LONGINT; bfReserved1:INTEGER; bfReserved2:INTEGER; bfOffbits:LONGINT; {BitMap Info Header} biSize:LONGINT; biWidth:LONGINT; biHeight:LONGINT; biPlanes:INTEGER; biBitCount:INTEGER; biCompression:LONGINT; biSizeImage:LONGINT; biXpelsPerMeter:LONGINT; biYpelsPerMeter:LONGINT; biClrUsed:LONGINT; biClrImportant:LONGINT; END; Tipo byte 0 .. 255 RangoFormato 8 bits sin signo 16 bits con signo 8 bits con signo 16 bits sin signo

integer -32768 .. 32767 shortint -128 .. 127 word 0 .. 65535

longint -247483648 .. 2147483647 32 bits con signo

Manejo de Ficheros BMP

Profesor: Juan Antonio López Quesada

Manejo de ficheros BMP Los archivos BMP, tienen las siguientes partes: 1. Encabezado: es la parte que contiene información sobrearchivo. 2. Cuerpo: es la parte que contiene los datos a utilizar del archivo. En el caso de los ficheros BMP, el cuerpo se corresponde con la descripción RGB de los píxeles de la imagen. Tipo BITMAPINFOHEADER The BITMAPINFOHEADER structure contains information about the dimensions and color format of device-independent bitmaps (DIB). typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth;LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER, *PBITMAPINFOHEADER; Campos de Tipo BITMAPINFOHEADER biSize Specifies the number of bytes required by the structure. biWidth Specifies the width of the bitmap, in pixels. biHeight Specifies the height of thebitmap, in pixels. If biHeight is positive, the bitmap is a bottom-up DIB and its origin is the lower-left corner. If biHeight is negative, the bitmap is a top-down DIB and its origin is the upper-left corner. biPlanes Specifies the number of planes for the target device. This value must be set to 1. biBitCount Specifies the number of bits-per-pixel. The biBitCount member of the BITMAPINFOHEADER...
tracking img