Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Ausrichtung von JPEG-Dateien wird falsch dargestellt (https://www.delphipraxis.net/189294-ausrichtung-von-jpeg-dateien-wird-falsch-dargestellt.html)

striderx 26. Mai 2016 09:04

Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich habe hier ein seltsames Phänomen:

Wenn ich eine JPEG-Datei in der Windows Foto-Anzeige um 90 Grad drehe, wird das Ergebnis z. B. im Explorer oder in Paint richtig dargestellt (s. Anhang). Wenn ich das Bild in ein tImage lade, erscheint es dort jedoch in der urprünglichen Orientierung. Das ist anscheinen kein Delphi-spezifisches Problem, denn dieser Effekt tritt auch in anderen Programmen auf (z. B. MS Office).

Hat jemand eine Idee, was dahinter stecken könnte? Und vor allem wie man das reparieren kann?

himitsu 26. Mai 2016 10:23

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Man kann ein JPEG auf zwei Weisen drehen.
Entweder per Flag im Header (oder irgendwo anders in der Datei) Parameter im EXIF oder durch Drehen des Bildinahltes.
Bei Letzterem mit Datenverlust durch das nötige Neukomprimieren des JPEGs.

Und die Implemententation im Delphi, bzw. die AufCanvasZeichenfunktion darin, ist eine von Denen, welche diesen Parameter "ignorieren" und das Bild dann falsch anzeigen.
(Delphi ist nicht der Einzige, der das vergisst, bzw. noch viele andere Programme nutzen machen es auch nicht)

striderx 26. Mai 2016 10:59

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Dann kann durch Anpassung des Headers o.ä. die Sache somit auch nicht reparieren.

Vielen Dank auf jeden Fall!

himitsu 26. Mai 2016 12:34

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Du kannst selber den Header EXIF auslesen und dann das Bild die Bilddaten "nochmal" im Programm drehen, so wie es im Header EXIF steht ... dann stimmt deine Anzeige.
Oder dich an Emba wenden und hoffen die reparieren das in den nächsten 20 Jahren.

Wobei Reparieren hier heißt, dass sie entweder schauen müssen, dass ihre "übernommene Implementation repariert wird, bzw. sie suchen sich eine Andere um müssen dann vielleicht sonstwas an ihrem TJPegImage ändern.

Dalai 26. Mai 2016 13:03

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Es kommt darauf an, ob die anzeigende Software EXIF auswertet und anhand dessen die richtige Ausrichtung des Bildes wählt. In einigen Bildbetrachtern gibt's dafür eine Option, die man ein-/ausschalten kann, je nach Notwendigkeit.

MfG Dalai

RaSoWa1 26. Mai 2016 13:30

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Zitat:

Zitat von himitsu (Beitrag 1338984)
Man kann ein JPEG auf zwei Weisen drehen.
Entweder per Flag im Header (oder irgendwo anders in der Datei) Parameter im EXIF oder durch Drehen des Bildinahltes.
Bei Letzterem mit Datenverlust durch das nötige Neukomprimieren des JPEGs.


Mit JpegEx.TJPEGImage.Transform ist das Drehen auch ohne Datenverlust möglich.

MfG Klaus

striderx 26. Mai 2016 14:22

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
@RaSoWa

Es geht mir nicht um das Drehen an sich sondern um das Anzeigen von (womit auch immer) bereits gedrehten Bildern.

BUG 26. Mai 2016 18:14

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Zitat:

Zitat von striderx (Beitrag 1338995)
Es geht mir nicht um das Drehen an sich sondern um das Anzeigen von (womit auch immer) bereits gedrehten Bildern.

Und dazu könntest du sie, nachdem du in die EXIF geguckt hast, ... drehen :shock: :mrgreen:

striderx 26. Mai 2016 22:22

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Das verstehe ich nicht: wie soll ich denn erkennen, ob das Bild 'physikalisch' gedreht worden oder ob nur das Ausrichtungsflag (?) geändert worden ist?

Luckie 27. Mai 2016 02:15

AW: Ausrichtung von JPEG-Dateien wird falsch dargestellt
 
Eine automatischer Erkennung ob die Drehung des physischen Bildes zu der Angabe in den EXIF Daten passt, wird es nicht geben. Essei den man kann es an der Breite und Höhe fest machen. Wenn in den EXIF steht: 100x50 aber das physische Bild ist 50x100, dann kann man die RXIF Daten korrigieren. (Wäre das einfaschte.) Aber was richtig ist, kannst das Programm auch nicht sagen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr.
Seite 1 von 2  1 2      

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