libpng
libpng | |
---|---|
Basic data
|
|
developer | Guy Eric Schalnat, Andreas Dilger, Glenn Randers-Pehrson et al. |
Current version |
1.6.37 ( April 14, 2019 ) |
operating system | platform independent |
programming language | C. |
category | Program library |
License | zlib / libpng license ( free software ) |
libpng.org |
libpng (formerly pnglib ) is a widely used free program library for processing the compressed raster graphics data format Portable Network Graphics (PNG).
It is written in the C programming language and is based on the functions of the zlib library for deflate data compression .
Functionality
The libpng is platform-independent and expandable. It implements a PNG codec (encoding and decoding) with support for almost all features of the format. In addition to the mandatory block types IHDR, IDAT, PLTE and IEND, support for the other standard block types is implemented in special macros that can be omitted during compilation. The libpng16-config, pngfix and png-fix-itxt utility programs are also supplied in the package with the actual library.
meaning
libpng is the official reference implementation of the popular PNG format. It was produced as a supplement to the specification of the PNG format in order to facilitate the use of the format. For this purpose, it is made available as free software also in the source code under the conditions of a permissive open source license , the zlib / libpng license . The library has been integrated into numerous applications , both directly and in frameworks or even as a central standard component in some operating systems . Thanks to the permissive license, it also includes proprietary software .
Because it was used as a component of software such as web browsers that was sometimes exposed to the Internet, errors in the code of libpng were often responsible for more well-known security problems.
history
The original developer of libpng was Guy Eric Schalnat (from Group 42, Inc.), who released the first versions up to and including 0.88 (1.0 beta 2) on January 26, 1996. During 1996 and 1997 Andreas Dilger took over the development and produced the versions up to 0.96 (1.0 beta 6) from May 28, 1997. Since January 1998 (version 0.97) the development is coordinated by Glenn Randers-Pehrson, who also belongs to the PNG development group . Many more were involved in the development as contributing authors.
See also
- libmng - Library for the PNG subsidiary format MNG from the same developers
literature
- Greg Roelofs: Part III: Programming with PNG . In: PNG: The Definitive Guide . O'Reilly , 1999, ISBN 1-56592-542-4 (English, libpng.org ).
Web links
-
Official website
- User manual (English)
- Development side
- The Lab Book Pages: Creating PNGs with libpng (English)
swell
- ↑ libpng.org .
- ^ The libpng Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on July 18, 2018).
- ↑ Linux Foundation Wiki: LibPng - Specification Overview ( Memento of the original from September 5, 2014 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ Beyond Linux From Scratch, Chapter 10: Graphics and Font Libraries, section libpng
- ↑ libpng license