AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi JPG-Datei drehen und speichern -> Verlust der Exif-Daten
Thema durchsuchen
Ansicht
Themen-Optionen

JPG-Datei drehen und speichern -> Verlust der Exif-Daten

Ein Thema von axelf98 · begonnen am 3. Sep 2005 · letzter Beitrag vom 22. Aug 2021
 
Benmik

Registriert seit: 11. Apr 2009
578 Beiträge
 
Delphi 12 Athens
 
#25

AW: JPG-Datei drehen und speichern -> Verlust der Exif-Daten

  Alt 6. Jul 2020, 16:16
Da ich seit Jahren an einem Bildsichtungsprogramm arbeite, habe ich mit doch ziemlich mit JPG beschäftigt, und notgedrungen auch mit den EXIF-Markern und mit verlustfreier Rotation. Ich bin dabei dauernd auf der Suche nach der besten Lösung; allerdings geht es dabei eher um die schnellste Dekompression zu einer Bitmap.

Das reine Auslesen der Ausrichtung ist relativ trivial, das kannst du "zu Fuß" machen; hier gibt es auch eine Routine von mir, die ich dir zur Verfügung stellen kann. CCR-EXIF benutze ich seit Jahren nicht mehr, da es in Einzelfällen immer wieder versagt hat.

Du willst aber auch verlustfrei drehen und dabei die EXIF-Informationen behalten, das ist schon nicht mehr so trivial.
Kurz gesagt ist mein gegenwärtiger Stand der, dass da vier Möglichkeiten in Frage kommen.

Die eine ist NativJPG von Nils Haeck. Schon ein älteres Stück von 2007, aber die Struktur hat sich ja nicht geändert; es ist reines Delphi, also das, was du willst. Ein Nachteil ist, dass NativeJPG nicht mit progressiven und mit Halbton-JPG zurecht kommt; wenn dich das nicht stört, würde ein Blick sich lohnen. NativeJPG kann EXIF-Daten extrahieren und einfügen.

Eine attraktive Möglichkeit ist jpegex, das auf libjpeg-turbo basiert und von Gabriel Corneanu für Delphi portiert wurde, auch schon vor einiger Zeit. Ich habe Gabriel Corneanu vor einigen Jahren mal angeschrieben (er wohnt in Deutschland) und er hat auch geantwortet; aber mittlerweile hat er wohl keine Lust mehr auf seine alten Kamellen von anno dazumal und reagiert nicht mehr. Da ist vielleicht auch diese alte Diskussion bei Stackoverflow interessant, an der sich seinerzeit auch Uwe Raabe beteiligt hat (man beachte aber diese Diskussion). Für mich ist der Nachteil hier, dass ich auf 64-bit angewiesen bin. Mit meinen diesbezüglichen Anstrengungen war ich hier schon fast am Ziel, bevor ich wegen Unbotmäßigkeit und akuter Undankbarkeit in Acht und Bann getan wurde. Vielleicht erbarmt sich GPRSNerd deiner, du bist ja unbelastet. Ich hätte auch gern gelernt, wie man das selber macht, habe mir aber auf Stackoverflow von David Heffernan eine äußerst kalte Schulter geholt (Delphi kann hart sein).

Dann gibt es noch SynGdiPlus vom Synopse-Framework. Das kann auf jeden Fall verlustfrei drehen; bin mir aber im Moment nicht sicher, wie das mit den EXIF-Daten aussieht. SynGdiPlus ist übrigens in meinem Setting der schnellste Dekompressor von JPG noch vor FreeImage.

Zuletzt kannst du noch die DLL von FreeImage nutzen, was ich zurzeit tue. Aber du suchtest ja nach einer nativen Delphilösung.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz