Programación Bmp
{
//Abre el archivo en modo de escritura binaria.
ARCHIVO *fp=fopen(bmpName, "WB");
if(fp==0) devuelve 0
int w = 1;
int h = 1;
int bibitcount = 4;
int línea byte = 4
int colortablesize = 64
encabezado del archivo BITMAPFILEHEADER;
tipo de BF = 0x4d 42;
cabezal de archivo . = 0;
file head . bfsize = sizeof(bitmapfile header)+sizeof(BITMAPINFOHEADER)+colortablesize+line byte * h;
//bfOffBits son las tres primeras partes del archivo de imagen El espacio total requerido.
filehead . bfoffbits = 14+4color tablesize;
//Escribe el encabezado del archivo en el archivo
fwrite(& amp; filehead, sizeof( BITMAPFILEHEADER ), 1, FP);
encabezado BITMAPINFOHEADER;
head.biBitCount = bibitcount
head .bicl importante = 0;
cabeza .biplanos = 1 . >
head.biSize = 40
imagen bisize = byte de línea * h;
head .bi width = w
head. = 0;
head . biypelspermeter = 0;
//Escribe información de mapa de bits en la memoria.
fwrite(& head, sizeof(BITMAPINFOHEADER), 1, FP
RGBQUAD * pcolortable
pcolortable = new RGBQUAD[16];< /p); >
int t = 15;
for(int I = 0;i<16;i++)
{
pcolortable[i] . rgbReserved = 0;
pcolortable[i]. RGB azul = I * t;
pcolortable[i]. RGB verde = 0;
pcolortable[i].
rg bred = I * t;
}
fwrite(pcolortable, sizeof(RGBQUAD), 16, FP);
Carbón sin firmar * pbmpbuf
p>pbmpbuf = nuevo carácter sin firmar[byte de línea * h];
pbmpbuf[0]= 35;
pbmpbuf[1]= 35;
//pbmpbuf[4]= 69;
//pbmpbuf[5]= 103;
//pbmpbuf[8]= 137;
//pbmpbuf[9]= 171;
//pbmpbuf[12]= 205;
//pbmpbuf[13]= 239;
/ / for(I = 0;i<16;i++)
//pbmpbuf[I]= 199;
//Escribir datos de mapa de bits en el archivo
fwrite( pbmpbuf, h*linebyte, 1, FP);
//Cerrar el archivo
fclose(FP);
Devuelve 1;
}
Voy a clase y no veré tu programa. Lo anterior es un programa que escribí para escribir archivos BMP. Mira, eso no es problema.
//Escribir encabezado de archivo
fout.write((char *)&bitmapInfoHead, sizeof(bitmapfile header));
Estás equivocado, es escribir la información del encabezado del archivo BITMAPINFOHEADER.