Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RespectExifOrientation (https://www.delphipraxis.net/194784-respectexiforientation.html)

Michael II 4. Jan 2018 14:18

RespectExifOrientation
 
Hallo ins Forum

Wenn ich im Explorer eine jpg Datei rechtsklicke und aus dem Popup "Nach rechts drehen" wähle, dann zeigt der Explorer das Icon danach (wie erwartet) nach rechts gedreht an. Wenn ich die jpg Datei in Paint lade, dann wird das Bild wie gewünscht nach rechts gedreht angezeigt.

Wenn ich die jpg in Delphi in ein TImage lade, dann wird die Orientierung aber nicht berücksichtigt.

Muss ich die Orientierung selbst auslesen und das Bild entsprechend anpassen oder ist das in Delphi bereits eingebaut und ich seh's einfach nicht?

Besten Dank für eine Antwort.

RespectExifOrientation

himitsu 4. Jan 2018 14:29

AW: RespectExifOrientation
 
Die JPEG-Implementation im Delphi wertet die EXIF-Daten nicht aus.

Das selbe Problem betrifft auch das Bildformat. (wir haben z.B. eine TIFF von einem FAX in geringer Auflösung, also mit halber Höhe ... das müsste beim Anzeigen eigentlich auf die doppelte Höhe gestretcht werden, was es leider nicht wird :cry:)

freimatz 4. Jan 2018 14:45

AW: RespectExifOrientation
 
https://stackoverflow.com/questions/...ating-my-image

Michael II 4. Jan 2018 20:04

AW: RespectExifOrientation
 
Danke für eure Antworten. :thumb:

Dass nicht alle EXIF Tags von Delphi Komponenten ausgewertet werden, kann ich verstehen.

Dass aber "Grundsätzliches" wie Orientierung und Auflösung ignoriert werden macht gerade auch (aber nicht nur) im mobilen Bereich einfach keinen Sinn.

Die unter obigem Stackoverflow Link gepostete Lösung für Windows via Units GDIPAPI, GDIPOBJ funktioniert. Nun muss ich nur noch checken, unter welchen Windows Versionen das auch läuft.

Gibt es eigentlich irgendwo ein Online-Checktool, wo man eine .exe raufladen kann und einem dann angezeigt wird, für welche Windows Versionen die .exe läuft?

Beispiel: Ich habe GetTickCount64 eingebaut und das Tool gibt zurück: Funktioniert nur für Windows .....

himitsu 5. Jan 2018 03:38

AW: RespectExifOrientation
 
Naja, es wurde "garkein" EXIF eingebaut ... das hatte man sich einfach gespart. :stupid:

Ansonsten hätte man den Grafikklassen auch das Auslesen der anderen EXIF-Daten ermöglicht, damit der Programmierer das lesen kann, also wenn man eh schon EXIF ausgelesen hat.



Grundsätzlich gäbe es in den APIs von Android, MacOS und GDI+ (Windows) inzwischen Funktionen/Interfaces zum Auslesen/Ändern der EXIF-Daten,
aber scheinbar wurde nichtmal beim FMX versucht das auch in den TGraphic-Klassen zu nutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz