Libpng

libpngは画像データの形式の一つであるPNGのエンコード・デコードを行うライブラリであり、PNG の国際標準 (ISO/IEC 15948:2004) のリファレンス実装である（オリジナルにはpnglibと呼ばれる）。C言語で作成されており、クロスプラットフォームである。19年以上広く使われている実績がある。PNGの仕様のほとんどをサポートしており、多くのソフトウェアで採用されている。

概要 
libpngは、ガイ・エリック・シュアルナ (Guy Eric Schalnat)、アンドレアス・ディルガー (Andreas Dilger)、グレン・ランダース＝パーソン (Glenn Randers-Pehrson)らによって開発された。ライセンスはGPLよりも制限の緩いlibpng Licenseを採用している。

libpng自身はC言語で記述されており、Windows、Linux、UNIX、Mac OS、MS-DOS等、様々な環境で動作する。x86系CPUにおいては、一部の処理にMMXやSSE2を利用する事も出来る。

動作にはzlibが必要で、圧縮・伸張の処理はzlib側に任せる設計になっている。

別途パッチを当てることでAPNGに対応する。

脚注

関連項目 
Portable Network Graphics（PNG）
zlib

外部リンク 

 公式サイト（英語）
 libpng開発ウェブサイト（英語）
 libpngリファレンスマニュアル（英語）
 libpngを使用するPNG画像を作成する際のハウトゥー。（英語）
 APNG patch for libpng

オープンソースソフトウェア
グラフィックライブラリ