Stehe mächtig auf dem Schlauch. Habe seit Jahren eine Anwendung in Betrieb, mit der ich im Hochformat (Portrait) aufgenommene Fotos erkenn und entsprechend behandele. Klappt einfach nicht mehr. Ich nutze PB 5.50 (x64). Kamera ist eine Lumix FZ200.
Nachfolgender Code sowie IrfanView bringen das im nachfolgenden Bild dargestellte Ergebnis. Die in grüner Schrift eingefügten Daten gibt PB aus. Das Bild ist eindeutig im Hochformat aufgenommen und wird von Irfan auch so angezeigt.
Wenn ich ein solches Bild per ResizeImage verkleinere und per SaveImage speichere wird es zum liegenden Bild im Querformat. Was kann da los sein?
ich verstehe nicht worauf sich Deine Frage bezieht,
Teile ich zwei Integer und gebe das Ergebnis in eine Float (Double) so wird auch eine Float ausgegeben.
In grauer Vorzeit hatte PB tatsächlich Probleme mit dem Casting!
Das Problem mit den Bildern hat wohl andere Ursachen. Offenbar kümmern sich JPEGImageDecoder und JPEGImageEncoder nicht um das Orientation-Flag (EXIF). Meine Kamera gibt den Hochformat-Bilder ein "Left Bottom", den Breitformat-Bildern aber ein "Left Top" mit. Dieses Flag müsste beim Decodieren/Encodieren beachtet werden.
Wenn ich den Code von Pelagio bei solchen Bildern benutze, kommt völliger Unsinn heraus.
Inwischen ist es mir gelungen, IrfanView per Commandline Options zur richtigen Convertierung der Bilder zu nutzen. Dabei bleiben die EXIF-Daten erhalten, die Orientierung wird auf "Top Left" vereinheitlicht und ich kann einen ganzen Ordner mit Bildern bearbeiten lassen, indem ich dessen Inhalt in einer "Filelist" zusammenstelle.
Es bleibt aber der Wunsch, dass JPEGImageDecoder und JPEGImageEncoder irgendwann die Orientierung eines Bildes beachten.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!