portrait wordt getoond in landscape
Je hebt waarschijnlijk de instelling automatisch roteren uitstaan.
Dat programma's slimmer worden en hem wel juist weergeven is natuurlijk heel mooi, maar pain in the ass als je dit niet wil.
Laad je originele foto maar in lightroom en hij zal ook gewoon landscape zijn.
De enige oplossing is, gewoon de oriëntatie in een foto goede editor juist zetten.
Dat kan ook door je exif aan te passen, maar makkelijker is de foto's openen en opnieuw opslaan.
Ene.. om dit probleem in de toekomst te voorkomen, zet het in camera goed.
Wat me ook op valt is dat het bijvoorbeeld bij FB wel goed gaat dus moet er volgens mij een softwarematige manier zijn.
Heb je niks kunnen vinden via mijn Google link?
Dat is niet wat ik wil. Als FB de foto goed plaatst moet er een andere manier zijn.
Inmiddels ben ik bezit met de exif_read_data van php.
Er gebeurt ergens iets raars:
open ik de foto in windows10 dan staat hij portrait en geeft w: 1960 - h: 4032
open ik dezelfde foto in rechtstreeks in de browser dan staat hij goed
open ik hem met html dan staat hij in landscape en geeft w: 4032 - h: 1960 aan
open ik hem in psp9 dan staat hij ook in landscape dus fout
open ik in paint dan staat hij goed dus in portrait
Toevoeging op 05/05/2019 11:35:43:
exif resultaten kan je zien in https://test.zwerfspin.nl/test.php
Toevoeging op 05/05/2019 12:10:52:
Het volgende is dus het geval.
het image wordt in windows als portrait getoond. In de EXIF staat 1960 x 4032.
na het verwijderen van de EXIF wordt hij in landscape getoond.
nadat ik hem geupload heb naar de server staat hij in portrait en geeft EXIF 4032 x 1960 (dat is vreemd).
Vreemd wel maar het is zijn daadwerkelijke weergave zonder EXIF.
Dus eigenlijk doet html het goed en ben ik dus klaar hier.
Ik moet zoeken waarom windows het fout doet.
Of niet fout maar zich houdt aan de EXIF info en ik moet weten waarom die met w en h omdraait.
Sorry ik word er gek van maar wil het begrijpen voor ik verder ga.
Toevoeging op 05/05/2019 12:50:30:
Mijn uiteindelijke oplossing:
$info = exif_read_data(photo_url);
if ( $info["Orientation"] > 1 ) {
echo "<img src=\"".$site->photoDir."/".$value."/".$vl."\" style=\"transform: rotate(90deg);\" />";
} else {
echo "<img src=\"".$site->photoDir."/".$value."/".$vl."\" />";
}
Toevoeging op 05/05/2019 12:50:54:
Bedankt allemaal
Quote:
Ik moet zoeken waarom windows het fout doet.
Kijk naar de bron, niet naar een willekeurig programma die de foto op een bepaalde manier weergeeft. De oorspronkelijke foto is gewoon liggend. Maak hier een staande foto van. Zo simpel is het. De programma's doen zelf niets fout maar proberen de foto zo goed mogelijk weer te geven. Als je nu gewoon zorgt dat de oriëntatie van de foto zelf klopt (en de EXIF-data hieromtrent verwijdert!) hoeven programma's deze niet te second guessen...
Het bovenstaande lijkt mij een pleister, want je lost het achterliggende probleem niet op. Hier repareer je elke page-request de oriëntatie. Dat lijkt mij ook nogal inefficiënt... Het lezen van bestanden is namelijk een redelijk dure (zo niet de duurste) operatie die er is.
Gewijzigd op 05/05/2019 18:00:58 door Thomas van den Heuvel
Ik ga alle foto's in landscape opnemen dan ben ik ervan af :)
Bedankt voor je inzet.