Re: Minutes: Foreign OSes BoF
- From: "Dominic Lachowicz" <domlachowicz gmail com>
- To: "Tor Lillqvist" <tml iki fi>
- Cc: GTK Devel List <gtk-devel-list gnome org>
- Subject: Re: Minutes: Foreign OSes BoF
- Date: Tue, 18 Mar 2008 08:23:09 -0400
> > * There is no way that I know of to distinguish between a
> > metafile/vector format and a raster format, except maybe to try
> > loading everything as a metafile and see if something fails.
>
> Hmm, there are the ImageCodecFlagsSupportBitmap and
> ImageCodecFlagsSupportVector bits in the ImageCodecInfo::Flags field,
> is that enough?
I've seen stories that GDI+ reports that every format is a bitmap. I
didn't have the opportunity to test it myself because
GetImageEncoders() isn't in my GDI+ DLL.
> > * The functions that enumerate GDI+'s loaders simply don't exist in
> > the 1.0 version of the GDI+ DLL.
>
> Are you sure? The sample program from the GDI+ documentation in the
> Platform SDK that lists encoders using GetImageDecodersSize() and
> GetImageDecoders() works fine for me on XP. The version of the
> GdiPlus.dlls I find in the WinSxS folders is 5.1.3102.2180.
Unfortunately, they're not present in at least my copy of WinXP. It's
why I do a TRY_LOOKUP() on GetImageEncoders and GetImageEncodersSize,
and why GetEncoderClsid() has a fallback branch that uses hard-coded
CLSIDs.
> I really would love to be able to have the GDI+ loader as a built-in...
As would I. You can definitely do it with the existing architecture,
albeit a little awkwardly. The combination wouldn't have support for
any new formats dynamically added to GDI+. But in all honesty, I think
adding new formats is pretty uncommon and that 99% of people just have
the builtin set.
Thanks for working on this patch, Tor. I really appreciate it.
Dom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]