A multi-platform open source C library for creating, reading and writing Portable Network Graphics (PNG) files. It was originally created as a reference implementation and library for the PNG file format and is therefore written in an old ANSI C89 dialect to make it more portable and usable with even vintage C compilers.
There are currently two binary release available for OS/2, libpng 1.6.18 built for kLIBC and a libpng 1.5.27 built for the emx runtime, the EMX version is actually newer and should suffice in most cases, but it is a bit of a judgement call which version you actually choose to use.
There are older versions available on the usual download sites if you are porting older software that relied on older versions of the libpng library, but the API of the library was changed a bit between 1.4 and 1.5 branches, and again between 1.5 and 1.6, so using them might ease porting a bit, however it is recommended if possible to try to change the handling of the library I/O to at the least version 1.5.23 of the library as older versions have a nasty memory leaking bug and a few known vulnerabilities as well.
Open source software released under the Zlib Licence, with a couple of extra essentially meaningless disclaimers and clauses that assert the open source nature of the library.