comprobando la función en el hexadecimal del bmp que genera se ve que los bits del comienzo son incorrectos.
42 4D B6 AA 6B 00 00 00 00 00 EE 06 00 00 ; BM¶ªk.....î...
Lo correcto sería:
42 4D B6 AA 6B 00 00 00 00 00 36 00 00 00 ; BM¶ªk.....6...
No tengo mucha idea de C, asi que lo he solucionado de esta forma:
- Code: Select all Expand view
- BOOL DibWrite( LPSTR szFileName, HGLOBAL hDIB )
{
...
// bmf.bfOffBits = sizeof( bmf ) + ( char * ) Bits - ( char * ) Info;
bmf.bfOffBits = 0x36;
...
