Autor Beitrag
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 378
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Mo 26.09.22 21:53 
Hallo,

ich möchte für ein JPEG-Bild wissen, ob es mit den üblichen 24-Bit/Pixel oder mit 8-Bit/Pixel gespeichert ist. "TJPEGImage.pixelformat" gibt laut Hilfe an, wie das Bild angezeigt wird, also nicht, wie es in der Datei gespeichert ist. So verhält sich mein Testprogramm auch. Aber wie kann ich die Bits/Pixel einer *.JPG-Datei bestimmen? Main aktueller Notbehelf: Dateilänge/Bildbreite/Bildhöhe führt auf einen Schätzwert, so dass ich einigermaßen zuverlässig 8-Bit und 24-Bit unterscheiden kann.

Kennt jemand den korrekten Weg, die Bits/Pixel zu lesen?

Gruß
GuaAck
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19289
Erhaltene Danke: 1743

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 26.09.22 22:13 
Offenbar wird das PixelFormat in TJepgImage beim Lesen einer .jpg Datei gar nicht geschrieben. Ich vermute daher, dass man diese Information mit Bordmitteln nicht heraus bekommt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6388
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 27.09.22 06:16 
Man könnte einfach den Header der Datei auslesen. Dort sollten die Infos enthalten sein.
Deutsche Beschreibung
Englische Beschreibung

Selbst habe ich das noch nicht ausprobiert.

Für diesen Beitrag haben gedankt: GuaAck
GuaAck Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 378
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Di 27.09.22 21:37 
Hallo jasocul,

das war ein hilfreicher Tipp. Geht bestens!!!

(Ich hatte vor längerer Zeit mal ein kleines Programm gemacht, um mir die Segmente in einer JPG-Datei in hex anzeigen zu lassen, damit hatte ich schon einen Rohling).

Gruß GuaAck