„move“ převádí image z potrétu na landscape

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mav
Člen | 12
+
0
-

$file->move($destination);
Mám obrázek na výšku – portrét (ve vlastnostech výška a šířka O.K.). Po uploadu se změní jeho vlastnosti – prohodí se údaje o výšce a šířce, takže mám obrázek na šířku – landscape.

llook
Člen | 407
+
0
-

Nemáš tu orientaci takto nastavenou jenom v nějakém prohlížeči (např. Picasa) a ne přímo v tom souboru?

mav
Člen | 12
+
0
-

Nene, jsou to fotky na výšku. Např. Windows prohlížeč fotografií je zobrazuje na výšku, Ifran View je zobrazuje na výšku. Ve vlastnostech obrázku v Irfan View, ve Free Commanderu,… jsou údaje o výšce a šířce O.K., tzn. na výšku. Po uploadu jsou tyto vlastnosti obráceně.
Teď ale zkouším otevřít ty fotky v GIMPu a ten hlásí, že „podle dat EXIF je tento obrázek otočen“ a jestli se má „otočit do standardní orientace“.
Jsou to fotky z Panasonic LUMIXu DMC-FX-150.
Nevíš, prosím, co s tím?

enumag
Člen | 2118
+
0
-

Metoda $file->move($destination); by soubor měnit neměla, tedy ani jeho EXIF data. Na druhou stranu třída Image tato data dost možná likviduje např. když se volá resize, jsi si jistý, že to není tím?

Možná pomůže http://www.neilyoungcv.com/…ntation-fix/.

mav
Člen | 12
+
0
-

Mám to odzkoušené i bez resize. I jen $file->move($destination) s fotkou bez jakékoliv úpravy tak, jak je z fotoaparátu). Jakoby se třída Image v Nette a GIMP řídily jinými informacemi než např. Windows prohlížeč fotografií a Irfan View.
Zkouším, co udělá php script s move_uploaded_file($tempFile,$saveDir.$theFile). Chová se stejně jako v Nette $file->move($destination). Mám fotky naležato.

David Grudl
Nette Core | 8148
+
0
-

Nicméně binárně jsou to stejné soubory, že? Tohle nemá s Nette nic společného.

enumag
Člen | 2118
+
0
-

Hmm… když uploadnutý soubor zase stáhneš, liší se jeho velikost (případně CRC) od původního? Když ten původní otevřeš v prohlížeči, zobrazí se správně?

@dg: S Nette to zřejmě nic společného nemá, ale je to zajímavý problém.

Editoval enumag (20. 1. 2014 2:02)

mav
Člen | 12
+
0
-

Děkuji moc, enumag. V tom scriptu je funkce exif_read_data($source) a opravdu u těch fotek na výšku se mi vypisuje orientace s hodnotou 6, tzn., že by se měly otočit vpravo.
Na lokále pod EasyPHP exif_read_data($source) nefungovalo, ale na serveru funguje. Teď už si s tím snad poradím. Ještě jednou díky za rady.

mav
Člen | 12
+
0
-

JJ, s Nette to opravdu nesouvisí. Děkuji.