Door
Edward Butter
op 04-05-2019 18:41
gewijzigd op 04-05-2019 21:48
5.062 views
Ik ben geen beginner maar dit probleem is zo stom simpel dat ik het maar bij de beginners neerzet.
Er is een foto en dit staat op schijf in portrait.
Je kan dit zien door hem direct te benaderen. https://test.zwerfspin.nl/20190425_132024.jpg
Verder niets ook geen stylen of iets dergelijks.
Alleen wat ik hier schrijf.
Hier wordt de foto in landscape getoond.
Ik ben uren bezig geweest en wanhopig heb ik op een gegeven moment het subdomein test.zwerfspin.nl aangelegd met daarin 1 html bestand en 1 foto om zeker te weten dat het nergens anders aan kon liggen dan aan deze code.
Wie kan me vertellen waarom de tag img hier mijn foto in landscape vertoond terwijl hij in portrait op de schijf ligt?
Dit probleem word al in de camera veroorzaakt.
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.
Klinkt goed Bart maar ik kan geen optie "automatisch roteren" vinden.
Wat me ook op valt is dat het bijvoorbeeld bij FB wel goed gaat dus moet er volgens mij een softwarematige manier zijn.
Jawel programma's waarmee ik EXIF kan verwijderen of gedeeltelijk verwijderen.
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
[size=xsmall]Toevoeging op 05/05/2019 11:35:43:[/size]
[size=xsmall]Toevoeging op 05/05/2019 12:10:52:[/size]
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.
[size=xsmall]Toevoeging op 05/05/2019 12:50:30:[/size]
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.