libPNG.pas

Die libPNG.pas ist ein Header für die offizielle OpenSource Referenz Bibliothek libPNG. Der Header lässt sich sowohl unter Linux als auch unter Windows übersetzen. Als Kompiler können Delphi (Windows only) und FreePascal benutzt werden.

In dem Archiv sind neben der libPNG.pas noch 3 Beispielanwendungen enthalten. In diesen Anwendungen wird demonstriert wie Bilder gelesen und geschrieben bzw. wie Basisinformationen erfragt werden.

Der 64 Bit Support wurde bisher nicht getestet.

Hinweis zur Benutzung

Damit die Bibliothek benutzt werden kann muss als Erstes init_libPNGaufgerufen werden. Diese Funktion lädt dynamisch die libPNG Bibliothek und erfragt alle bekannten Methoden von ihr. Wenn dies erfolgreich war liefert die Methode Truezurück.

Wird die libPNG Bibliothek nicht mehr benötigt so muss/sollte quit_libPNGaufgerufen werden. quit_libPNGsollte genau so häufig aufgerufen werden wie init_libPNG, da die Unit mitzählt ob die Bibliothek noch verwendet wird oder nicht. Wird sie nicht mehr verwendet, dann wird sie wirklich beendet und entladen. Aus Sicherheitsgründen werden auch alle Funktionspointer gelöscht.

Nach Möglichkeit sollte nicht direkt auf die PNG Strukturen zugegriffen werden, da deren Aufbau extrem stark von der verwendeten Bibliothek abhängt. Es kann passieren, dass einige Features gar nicht mit einkompiliert wurden und sich somit die Felder in den Strukturen verschieben. So etwas kann man unmöglich vernünftig handhaben. Dafür bietet aber die Bibliothek für jedes Feature eine entsprechende Methode. Mit denen man alle Felder erfragen oder setzen kann. Diesen Methoden sollte in jedem Fall Vorzug gewährt werden. Es kann aber passieren, dass sie nicht gesetzt (NIL) sind.

Der Header kann auch mit älteren oder neueren Bibliotheken betrieben werden. Bei neueren Bibliotheken würden entsprechende Methoden nicht vom Header unterstützt werden. Und bei Älteren wären die Methoden im Header nicht gesetzt.

Header auf Stand von libPNG Version 1.2.16

Aufgrund von Änderungen meiner persönlicher Interessen wird dieses Projekt nicht weiter fortgeführt.

Download Header

Download libPNG.zip (27 kb)

Vorkompilierte Bibliotheken für Windows:

Links: