Miks on mõnes kaamerarakenduses olevad pildid Nexus 5X-is tagurpidi?

Mõned Nexus 5X kaamerarakendused kuvatakse tagurpidi ja selle põhjuseks on haruldane tootmisotsus. Siin on, kuidas see juhtub ja kuidas seda saab parandada.

Uued Google Nexus 5X kasutajad võisid märgata, et mõne kolmanda osapoole kaamerarakenduse abil pilti tehes tekib omapärane probleem – pilt on lõpuks pea alaspidi!

See probleem ei puuduta aga ainult Nexus 5X-i, nagu see on varem esinenud Nexus 6 esikaameral. Mis selle probleemi põhjustab? Kas see on tootja või tarkvara probleem? Selgub, et see on natuke mõlemat.

Vastavalt Eino-Ville Talvala, Androidi kaameraraamistiku tehniline juht, tekib probleem seetõttu, et mõned tootjad paigaldage kaamera andur oma seadmetele ebatavalises asendis. Selleks, et järgida Androidi ühilduvusnõuded, peavad tootjad joondama oma kaameraanduri pika serva seadme pika servaga (see tähendab, et vaikimisi peaks tagakaamera sensor olema orienteeritud nii, et pildid oleksid horisontaalpaigutusega). Siiski pole nõuet, millise konkreetse maastikusuuna jaoks peab andur olema suunatud. Tavaliselt kasutab enamik tootjaid ettepoole suunatud maastikuandurit, kuid LG/Google otsustas suunata oma tagurpidi maastiku. Enamiku mobiiltelefonide puhul on ruum kõrge hinnaga, nii et tootjad peavad sageli leppima neile seatud piirangutega. Nexus 5X pole erand – kiire pilk mahavõtmist paljastab, et tänu tohutule aku suurusele jääb seadmesse emaplaadi jaoks vähe ruumi.

Kuna seda vastupidist rõhtpaigutust näeb harva, ei korrigeeri paljud kolmanda osapoole rakenduste arendajad pildi töötlemisel seda orientatsiooni. Kasutades vana kaamera API-d, saavad arendajad selle kaamera orientatsiooni probleemi lahendada, helistades telefonil setDisplayOrientation() meetod, et kontrollida anduri kasutajaliidese õiget orientatsiooni ja pilti õigesti pöörata. Camera2 API kasutuselevõtuga pole see aga enam vajalik, kuna API tagab eelvaate õige orientatsiooni. Siiski, kui märkate, et mõni teie lemmikrakendustest teie pilte valesti suunab, saatke neile e-kiri, milles palute neil selle veidruse parandamiseks oma koodi värskendada.

Kas olete selle probleemiga juba kokku puutunud? Andke meile allolevates kommentaarides teada (ja eriti andke sellest teada arendajatele!)