-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2016-01-04 um 18:51 schrieb Aaryaman Vasishta:
+ file_header.bfSize = ((((w * bpp + 31) & ~31) >> 3) * h) + file_header.bfOffBits; This suggests (if I understand it right) that the on-disk bmp is written with 4 byte aligned rows (i.e., similar to bytes_per_line being 4 byte aligned in some cases). The actual image you generate doesn't match that though, so you have some unused data at the end.
It's possible that this size alignment is necessary though. Why are you using it instead of just using w * h * (bpp / 8)? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWkEqmAAoJEN0/YqbEcdMwKhEP/2OjRx6dtXxfqOoLPFb6687p cOBr5nCzJYMHKvNL1yD1Wb1T3jNjQWduOpAuUZV9QfcEsOzwYpMAO0wprFslNEVo r/aPwMnAAjjW/xXQD30s4McXKIdRQdo7myXbVbtyv4n7+PG4ROaHrqxdAcIyEAHe 1APXsX3hXXVSBxxeSwFDxQlos+50T0AmGZOjJL3gK0dZt8yu/Wokk6iuVrSERuu2 x/D2mtOEbhpu2i4YXbgHMAEXayxYr/t+88PC8StAb6CicM4LmbNGNG8JAFrSW+q5 AoXreMs5aM4jjvOrCL/lDYADDzgN/M41eT5vYNAv6KWGA57upAhENg5ar+ukhi9l QiDsjPDL64LfZtTaRrxV76PCBMoP/BVMhumtY0TCu8QvvxuKCFcIQ+5LHExt+Q2l XmF5woFzCtgVI8P4KTCU3eWi+QT5+TSgGQqHd7VrK6qRI7Jc/fh6JpQxrOo0x+j7 wJPS3uk99IcCwh2w0Z8jA3oiCEOKpxfjb8EP4udyVN6BsPX2qKcyQ/lRJJRHOuQi rEkTV8Vy0MC1WC6rfNaOeWphyNvsbzP0lm8sNjgxDjSb8egr507aTkjJxE8AsrCP F+nUMg336lM5Ww/VCAYaw8jVaCRnKcsuoPDulaHPG3Te6pa0BFzM4+6eWFAK0xz+ sLFNfCkHNgGDKHoubKnL =SEdW -----END PGP SIGNATURE-----