Home » Community » Newbie corner » StaticImage cannot show BMP file
Re: StaticImage cannot show BMP file [message #43614 is a reply to message #43610] |
Sat, 13 September 2014 20:18 ![Go to previous message Go to previous message](theme/default/images/up.png) ![Go to next message Go to previous message](theme/default/images/down.png) |
hans
Messages: 44 Registered: March 2006 Location: Germany
|
Member |
|
|
Hi, your struct BMP_FILEHEADER has the wrong memory layout,
it must be "packed" meaning no gaps between the members.
You have:
struct BMP_FILEHEADER {
word bfType; 2 bytes
gap-------------------------->2 bytes
dword bfSize; 4 bytes
word bfReserved1; 2 bytes
word bfReserved2; 2 bytes
dword bfOffBits; 4 bytes
In sum 16 bytes
but the Microsoft spec requires that no gap between members exists (in the time defining the struct it was traded not to "waste" space often).
So it must be
struct BMP_FILEHEADER {
word bfType; 2 bytes
dword bfSize; 4 bytes
word bfReserved1; 2 bytes
word bfReserved2; 2 bytes
dword bfOffBits; 4 bytes
In sum 14 bytes
Your change to get it work (bfOffBits changing type) is not right, because
you have still bfSize member at invalid memory position.
The upp code tries to get the "packed" aligment by using for Microsoft Compiler
#ifdef COMPILER_MSC
#pragma pack(push, 1)
#endif
or for GCC
#ifdef COMPILER_GCC
__attribute__((packed))
#endif
You can check if the right compiler #define is defined.
Or your compiler ignores this directive for whatever reason.
Hope it helps.
[Updated on: Sat, 13 September 2014 23:30] Report message to a moderator
|
|
|
![Read Message Read Message](theme/default/images/read.png) |
|
StaticImage cannot show BMP file
By: jerson on Wed, 10 September 2014 13:24
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: koldo on Thu, 11 September 2014 08:53
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Thu, 11 September 2014 10:55
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: koldo on Thu, 11 September 2014 11:10
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Thu, 11 September 2014 11:16
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: koldo on Thu, 11 September 2014 11:51
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Thu, 11 September 2014 12:52
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: koldo on Fri, 12 September 2014 08:41
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Fri, 12 September 2014 09:18
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Fri, 12 September 2014 10:36
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jibe on Fri, 12 September 2014 14:19
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Fri, 12 September 2014 15:05
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Fri, 12 September 2014 15:33
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: hans on Sat, 13 September 2014 20:18
|
![Read Message Read Message](theme/default/images/read.png) |
|
Re: StaticImage cannot show BMP file
By: jerson on Sun, 14 September 2014 05:19
|
Goto Forum:
Current Time: Thu Jun 13 16:42:56 CEST 2024
Total time taken to generate the page: 0.02814 seconds
|