Exif Daten mit JavaScript und mit Perl auslesen

Zeige die Vielzahl an Informationen die in Bilddateien stecken

Exif.js (Github) ist eine JavaScript-Library mit welcher die Exif-Daten einer Bilddatei ausgelesen werden können. Das Ganze spielt sich lokal im Browser ab, es werden keine Daten zum Server gesendet. Ich habe nun diese Klasse weiterentwickelt unter konsequenter Anwendung der Objektorientieren Programmierung. Im Ergebnis dessen ergibt sich für ClassExif.js eine einfache und sichere Anwendung die Sie selbst hier testen können.

Bilddatei hier ablegen

    

    
    


Warum diese Eigenentwicklungen

Zum Einen ist es mein Hobby und ein sinnvoller Zeitvertreib. Am Anfang stand wie immer als Ziel das Verstehen und siehe da, kaum macht man es selber versteht man es gleich viel besser. Andererseits lohnt es sich immer zu schauen wie es die Anderen machen und oft genug sehe ich dabei immer wie man es besser nicht machen sollte. Der auf Github in Exif.js gezeigte Programmierstil ist auf jeden Fall alles Andere als objektorientiert und dadurch weder verständlich noch wartungsfreundlich. Das gab den Ausschlag für eine gründliche Überarbeitung und auch mein Perl Modul Exif.pm kann sich diesbezüglich sehen lassen.

Die Exif-Spezifikation ist Schrott

Angesichts der Spezifikation und erst recht beim Entwicklen eigener diesbezüglicher Programme kann man nur den Kopf schütteln. Denn die in Exif verpackten Daten sind in der ganzen Bild-Datei zerstreut. Und das ist äußerst ineffizient, denn anstatt die Daten sequentiell nacheinander einzulesen, muß der Dateizeiger irrsinnig hin und her bewegt werden. Ebenso idiotisch ist es, für eine Gleitkommazahl (GEO-Tagging) fast 30 Byte zu verschwenden anstatt die üblichen 4 Byte für einen Floating-Datentyp bzw. 8 Byte (Double Precision).


Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. s​os­@rolf­rost.de.