Watch, Follow, &
Connect with Us

ID: 26127, PngComponents for Delphi 2009-XE7

by Uwe Raabe Email: Anonymous

An adaption (with small improvements) for Delphi 2009-XE7 of the PngComponents created by Martijn Saly.
Download Details
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 12.0  to 21.0 9179 downloads
Copyright: No significant restrictions

Terms of use: Embarcadero use at your own risk disclaimer

Size: 304,709 bytes
Updated on Wed, 10 Sep 2014 09:39:18 GMT
Originally uploaded on Fri, 10 Oct 2008 09:33:17 GMT
MD5 Hash: E9646520F448EB1C0349B6F6764CD73F

    Explore the files in this upload

This is an adaption for Delphi 2009-XE7 of the PngComponents created by Martijn Saly (, which makes use of the new built-in PngImage support.

The project is currently hosted on Bitbucket:

The original Png units from Gustavo Daud are no longer part of the package (mostly because I'm not sure if I may distribute them). So if you want to use it with an earlier version of Delphi, you have to get hands on the original package first. The sources should be compatible downto Delphi 7.

This version includes the DEP fix.

I also added a fix that properly loads DFMs made with older Delphi versions, which contain PNG images in TImage components. For this to work you have to install the package in the IDE and use PngFunctions somewhere in your project. Don't bother if you already use at least one of PngComponents.

Two notes on problems with loading PNG images:
1) The loading is done inside TPngImage which is part of Delphi and not PngComponents. Any problems with Invalid Graphic Format is most likely caused by TPngImage.
2) The current implementation of TPngImage doesn't call Changed when someting changed (f.i during LoadFromResourceName), so there is no notification to the control. As a workaround, load the image into another TPngImage instance and assign that to the PngImage property of TPngSpeedButton. It is not recommended to mess around with the instance behind the PngImage property.

- Fixed a bug that made the IDE crash when leaving.
- Reworked the InsertPng method so that it does what the name implies.
- Added project files and XE2-support
- Added project files for XE3-support
- Implemented a hack to make the TActionList editor of XE3 work with TPngImageList
- Added project files for XE4-support
- Added IFDEF for compilation with Delphi 2007 and below
- Fixed display error with images > 255 high
- Added project files for XE5
- Added project files for XE6
- added style support for TPngBitBtn (thanks André Püschel)
- Added project files for XE7
- Fixed memory leaks

   Latest Comments  View All Add New

Move mouse over comment to see the full text
Reply  Posted by Emil Zola on Dec 10 2013
re: PngComponents
Reply  Posted by Uwe Raabe on Oct 01 2012
re: PngComponents

Server Response from: ETNACDC02