PLE:Unidad7Ejercicio13

/*     Estructura de un bmp _______________________________________________________       |                                                       |        |Cabecera 14 bytes                                      | |Propiedades de la imagen (40 bytes)                   | |Paleta de color (opcional – su tamaño puede variar)   | |Datos de la imagen                                    | |_______________________________________________________|

Cabecera ========       Campo           bytes   Descripción Signature      2       Siempre es ‘BM’ FileSize       4       Tamaño del fichero Reserved       4       No se usa DataOffset     4       Posición relativa del comienzo de los datos de imagen

Propiedades de la imagen ========================       Campo           bytes   Descripción Size           4       Tamaño de esta sección (siempre es 40 bytes) Width          4       Anchura de la imagen en pixels Height         4       Altura de la imagen en pixels Planes         2       Número de planos (siempre es 1) BitCount       2       Bits por píxel (1, 4, 8, 16, 24) Compression    4       Tipo de compresión empleado (0, 1, 2) ImageSize      4       Tamaño de la imagen comprimida (=0 si no se comprime) XPixelsPerM    4       Resolución horizontal: píxeles por metro YPixelsPerM    4       Resolución vertical: píxeles por metro ColorsUsed     4       Número de colores usados, si hay paleta. ColorsImportant 4      Número de colores importantes (=0 si son todos)

struct cabeceraBMP { char Signature[2];             /* Signatura = "BM"             */ unsigned int FileSize;         /* Tamaño Fichero               */ unsigned int Reserved;         /* Reservado                    */ unsigned int DataOffset;       /* Desplazamiento de los datos  */ };

struct propiedadesBMP { unsigned int size;              /* Header size in bytes      */ int width, height;              /* Width and height of image */ unsigned short int planes;      /* Number of colour planes   */ unsigned short int bits;        /* Bits per pixel            */ unsigned int compression;       /* Compression type          */ unsigned int imagesize;         /* Image size in bytes       */ int xresolution, yresolution;   /* Pixels per meter          */ unsigned int ncolours;          /* Number of colours         */ unsigned int importantcolours;  /* Important colours         */ };