Am 05.04.2013 14:42, schrieb Michael Van Canneyt:
On Fri, 5 Apr 2013, Sven Barth wrote:
Am 05.04.2013 12:07, schrieb Michael Van Canneyt:
On Fri, 5 Apr 2013, Graeme Geldenhuys wrote:
Hi,
Having had a quick look at the FPReadBMP.pp unit, the only BMP format
FCL-Image supports is the Windows BMP format. I need to read OS/2 BMP
files too.
Here is a very brief comparison between the two formats. Note that
OS/2
Bitmaps can be larger, multiple images per file, different compression
algorithms, different file headers etc.
OS/2 Bitmap:
http://www.fileformat.info/format/os2bmp/egff.htm
Windows Bitmap:
http://www.fileformat.info/format/bmp/egff.htm
I'm doing the work for fpGUI's DocView, but would like to share the
code
with FPC too. What would be the suggested way of doing this?
1) extend the existing FPReadBMP.pp unit. This could be messy.
2) create a whole new unit specific to OS/2 Bitmaps.
I would opt for (2). But that raises another problem, but probably not
relevant to others here. If option (2) is used, your application can't
simply assume a *.bmp can be read with FPReadBMP, it needs to check
the
file header first, then determine the correct unit & class to use to
read the bitmap.
That's why, unfortunately, I think 1) is better.
A second problem is the 'multiple images per file'.
You will need an image number when loading. That will need a change
in the reader or in TFPCustomImageHandler.
(a property, default set to 0, so it reads the first image (zero
based))
With support for multiple images per file we could add *.ico support
to fcl-image as well (currently this is implemented in the LCL). And
this could also benefit *.gif :)
Well I alread had .gif in mind when proposing this, I didn't know
about .ico.
It was rather a niche before Windows Vista, but since then multiscale
icons are rather common and are also supported by Lazarus. [And in
theory one could add (animated) *.cur support as well of which the only
difference to *.ico is that there is a "hotpoint" declared somewhere...]
So much the better :-)
Indeed.
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal