Page 1 of 1
32b BMPs are displayed incorrectly
Posted: Thu Jun 26, 2008 9:27 pm
by entryway
XnView (all versions I have: the latest release and the latest beta) cannot display 32b BMPs in the browser.
Browser:
http://prboom-plus.sourceforge.net/32bpp-xnview.png
BMPs:
http://prboom-plus.sourceforge.net/32bpp-xnview.zip
---
I have found an answer:
http://newsgroup.xnview.com/viewtopic.php?t=15377
Ok, Ctrl-H do fix this problem in preview window, but not in browser. Can such bmps be autodetected?
Re: 32b BMPs are displayed incorrectly
Posted: Fri Jun 27, 2008 8:36 am
by xnview
Your bmp have a bad alpha channel, so disable 'Use alpha'
Posted: Fri Jun 27, 2008 11:11 am
by entryway
xnview wrote:Your bmp have a bad alpha channel, so disable 'Use alpha'
btw, these bmps are created by Delphi with Image1.Picture.SaveToFile();
Posted: Fri Jun 27, 2008 1:39 pm
by xnview
entryway wrote:xnview wrote:Your bmp have a bad alpha channel, so disable 'Use alpha'
btw, these bmps are created by Delphi with Image1.Picture.SaveToFile();
Check the alpha channel, all is black
Posted: Fri Jun 27, 2008 2:13 pm
by entryway
xnview wrote:Check the alpha channel, all is black
you are mistaken
biBitCount is 32 and biCompression is 0 in header of my BMPs
Code: Select all
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER, *PBITMAPINFOHEADER;
in this case the image has no palette and high-byte of each four-bytes group should not be used
http://msdn.microsoft.com/en-us/library ... S.85).aspx
biBitCount - 32
The bitmap has a maximum of 2^32 colors. If the biCompression member of the BITMAPINFOHEADER is BI_RGB, the bmiColors member of BITMAPINFO is NULL. Each DWORD in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel. The high byte in each DWORD is not used.
Posted: Fri Jun 27, 2008 3:02 pm
by xnview
No, else you can't load correctly such file
http://www.xnview.com/beta/desktop_icon_03.bmp
But it seems that if alpha channel is all black, the channel alpha must be ignored, i'll add that
Sample OK
Posted: Fri Jun 27, 2008 3:30 pm
by Clo
Pierre

Hello !
• Your sample <desktop_icon_03.bmp> works OK here with the Alpha channel “ON”…

KR
Claude
Clo
Posted: Mon Jul 21, 2008 11:55 pm
by entryway
1.94 release + 32bit BMP == crash
drwatson log + BMP:
http://prboom-plus.sourceforge.net/xnview_194_crash.zip
This crash happens only in a browser mode
Stack trace from the log:
Code: Select all
Exception number: c0000005 (access violation)
ChildEBP RetAddr Args to Child
01abf9c0 0059c528 00d80000 00000000 00e13fe8 ntdll!wcsncpy+0x354
01abfa08 005a2e3c 00e13fe8 00723258 0059c193 xnview+0x19c528
00d89440 005b0980 005b1300 005b4aa0 005cca20 xnview+0x1a2e3c
005af340 58245c8b 246c8b55 538b6658 0f665618 xnview+0x1b0980
534cec83 00000000 00000000 00000000 00000000 0x58245c8b
Posted: Tue Jul 22, 2008 9:24 am
by xnview
Posted: Tue Jul 22, 2008 9:36 am
by xnview
Ok, i think that the problem is with option/General/Ignore alpha channel
Posted: Tue Jul 22, 2008 10:42 am
by entryway
xnview wrote:Ok, i think that the problem is with option/General/Ignore alpha channel
Yes, you are right