Monday, April 07, 2014

Short tips: PNGImage

If you have problems processing PNG images because you are using DevExpress components, add this to the beginning of your program’s uses list:

  dxGDIPlusClasses,
Vcl.Imaging.PNGImage,

DevExpress registers PNG handler with doesn’t behave exactly the same as Delphi’s built-in TGraphics descendants. With this addition, PNGImage.RegisterFileFormat will be called after dxGDIPlusClasses.RegisterFileFormat and will overwrite DevExpress’ PNG handler.

3 comments:

  1. What's wrong with the DevExpress PNG handling behavior?

    Sylvain

    ReplyDelete
  2. In my case - the code which works with TPicture handles correctly JPG, GIF and BMP, but not PNG if it is implemented with the DevExpress code. I don't care enough to discover why; I just replaced it with the default PNGImage.

    ReplyDelete
  3. We have noticed the same thing. The DevExpress PNG handler does strange things with transparency, which seems to be needed with their controls, but does not play nicely with others.

    ReplyDelete