Exif bzw. IPTC

Rund um die LCL und andere Komponenten
wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Exif bzw. IPTC

Beitrag von wp_xyz »

af0815 hat geschrieben:Die Frage nach dem Codierstil, hehe ist so alt wie das Thema Pascal<->C, auf was wollen wir uns einigen ?

Ich folge (weitgehend) dem Codierstil von Delphi (https://edn.embarcadero.com/article/10280). Aber wir werden das eh nicht unter einen Hut kriegen. Drum - vergesst die Bermerkung.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Exif bzw. IPTC

Beitrag von af0815 »

wp_xyz hat geschrieben:
af0815 hat geschrieben:Die Frage nach dem Codierstil, hehe ist so alt wie das Thema Pascal<->C, auf was wollen wir uns einigen ?

Ich folge (weitgehend) dem Codierstil von Delphi (https://edn.embarcadero.com/article/10280). Aber wir werden das eh nicht unter einen Hut kriegen. Drum - vergesst die Bermerkung.

Besser ist doch http://wiki.freepascal.org/DesignGuidelines und auch http://wiki.freepascal.org/Nomenclature :mrgreen:

Ich versuche gerade den originalen Author die LGPL und dem reinen LazFork nahe zu bringen, mal sehen ob er damit einverstanden ist.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Exif bzw. IPTC

Beitrag von MitjaStachowiak »

Wie gesagt würde ich gerne eine Telefonkonferenz machen, bevor's los geht :!:

Was habt ihr? Mumble? Skype? Oder VoIP via SIP?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Exif bzw. IPTC

Beitrag von af0815 »

MitjaStachowiak hat geschrieben:Was habt ihr?

Siehe PN

Ich habe heute mal ein BMP in Lazarus erstellt, es nach jpg geladen und gespeichert. (Siehe wip_Andreas bei Github). Dann habe ich mir überlegt wie ich EXIF Infos mitspeichern kann. Kurzum die aktuellen Routinen können nur vorhandene EXIF informationen erweitern bzw. ändern. Von nichts weg gibt es nichts in dExif, oder hab ich da was übersehen ?

wp: Ist es korrekt, das ein paar Tests aktuell im master fehlschlagen ?

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Exif bzw. IPTC

Beitrag von wp_xyz »

af0815 hat geschrieben:Ich habe heute mal ein BMP in Lazarus erstellt, es nach jpg geladen und gespeichert. (Siehe wip_Andreas bei Github). Dann habe ich mir überlegt wie ich EXIF Infos mitspeichern kann. Kurzum die aktuellen Routinen können nur vorhandene EXIF informationen erweitern bzw. ändern. Von nichts weg gibt es nichts in dExif, oder hab ich da was übersehen ?

ich habe mir das gerade auch angesehen und denke, wie du, dass es hier noch viel zu tun gibt...

af0815 hat geschrieben:wp: Ist es korrekt, das ein paar Tests aktuell im master fehlschlagen ?

Wenn ich das Testprogramm, so wie es z.Zt auf deinem Master liegt, starte, sollten eigentlich keine Fehler angezeigt werden, da ich alle problematischen Tests auskommentiert habe. Das sind hautsächlich Tests, wo EXIFTool und dEXIFTags anzeigen, die vom Testprogramm trotzdem nicht gefunden werden - vielleicht geht die exakte Schreibweise ein? Oder EXIFTool zeigt Werte an, die sinngemäß identisch sind, aber unter einen anderen Tag gespeichert sind, so wie FNumber und ApertureValue, oder ExposureTime und ShutterSpeedValue. Die letzteren beiden haben ein weiteres Problem, nämlich dass die Werte als Bruch mit Zähler und Nenner gespeichert sind, deren Quotient aber das falsche Ergebnis liefert, obwohl die Stringausgabe korrekt ist. Hier muss etwas in der GetNumber-Routine faul sein (wo mir auf den ersten Blick schon der Fehler mit Single und Double-Werten aufgefallen ist). Ich werde im weiteren diese Fehler sukzessive beheben und noch weitere Tests anfügen. Im Endeffekt müssen alle Tests grün sein.

Im nächsten Schritt hätte ich mir gedacht, ich würde - ähnlich wie bei FPSpreadsheet - WriteRead-Tests schreiben, also Werte in eine Datei schreiben und sie wieder auslesen. Aber wenn wie oben bemerkt das Schreiben in eine leere Datei gar nicht funktioniert und wir noch die korrekten JPEG- und TIFF-Records erstellen müssen - da weiß ich nicht, ob da noch mit im Boot bin.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Exif bzw. IPTC

Beitrag von af0815 »

Ich habe mir das mit dem Schreiben angesehen. Prinzipiell ist alles grundlegend da, NUR kennt der jetzige Ablauf nicht diesen Fall. Das sieht aber für mich lösbar aus (nur mal JPG betrachtet).

Wegen der diversen Unstimmigkeiten habe ich ja einmal angefangen mit den Tests, weil nur so kommen wir auf einen grünen Zweig. Das mit ReadWrite Tests würde ich einmal verschieben bis es für die meisten Tags grünes Licht gibt. Da sind die diversen Tools als Gegenprobe schon gut. Es wäre vielleicht nicht schlecht, wenn man ein solches Tool soweit automatisierte Outputs geben kann, das man die wieder Testen kann, dann kann man eine größere Menge an Bildern durchlaufen lassen. Damit kann man zumindest mal den Leseprozess stabilisieren.
Vor allen mal sehen wieweit man da EXIF, IPTC, Comments und Thumbnails testen kann. Das mit dem Schreiben kann man dann einfliessen lassen, wenn das lesen einmal sauber ist. Und dort würde ich zuerst die Änderungsroutinen testen, die sind ja vorhanden und dann das Schreiben.

Ich mache meine Versuche mit dem Schreiben gerade im wip_Andreas (wip = Work In Progress) damit ich den master nicht mit meinen Versuchen Stresse. Layoutänderungen werde ich in den master mergen.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten