Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#49

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

  Alt 6. Jul 2020, 19:37
Der zweite Teil verwirrt mich.
JPEG-Bilder enthalten eine Anweisung, wie sie zur richtigen Anzeige gedreht werden müssen. Z.B. Top left besagt, das Bild braucht nicht gedreht zu werden. http://sylvana.net/jpegcrop/exif_orientation.html
Jupp, z.B. der Windows-Image-Viewer stellt auch nur die Orientation in den Exif-Daten um, wenn man dort das Bild dreht.
Auch einige Kameras setzen diese Option, über einen Lagesensor.

Wird nur die Option geändert/gesetzt, dann wird erst bei Anzeige das Bild gedreht,
aber die eigentlichen Daten bleiben unverändert, also ist das somit 100% verlustfrei.

Wenn man das Bild "richtig" dreht, dann muß man ja die Pixel umherschieben, womit dann das Bild neu komprimiert/berechnet wird, was natürlich Verluste erzeugt.

Oder man versucht in den komprimierten Daten die Blöcke umzuorganiisieren und in der Codierung gleiche/ähnliche Blöcke in eine Version der gegrehten Ausrichtung zu ersetzen,
falls es da überhaupt möglich ist das 1:1 zu drehen.


Die JPEG-Implementation im Delphi kann das halt nicht.
Also müsstest du dir entweder eine andere Implementation besorgen. (vielleicht kann Windows das bereitstellen, wenn du TWICImage benutzt, oder du spielst mit GDI+ rum)
Oder du mußt selbst die Exif-Daten auswerten und dann das Bild im Canvas drehen, nach dem Laden der Datei.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Jul 2020 um 19:40 Uhr)
  Mit Zitat antworten Zitat