Hvorfor bilder i noen kamera-apper er opp ned på Nexus 5X

Nye brukere av Google Nexus 5X kan ha lagt merke til at et særegent problem oppstår når de knipser et bilde ved hjelp av noen tredjeparts kameraapper - bildet ender med å bli opp-ned!

Dette problemet er ikke eksklusivt for Nexus 5X, som det tidligere har skjedd på det frontvendte kameraet på Nexus 6. Hva forårsaker dette problemet? Er det et produsentproblem, eller et programvareproblem? Viser seg at det er litt av begge deler.

I følge Eino-Ville Talvala, teknologiledningen for Androids kameraramme, oppstår problemet fordi noen produsenter monterer kamerasensoren for enhetene sine i en uvanlig retning. For å oppfylle Android-kompatibilitetskravene, må produsentene justere langsiden av kamerasensoren sin med enhetens langside (som betyr at bakkamera-sensoren som standard skal være orientert slik at bildene er liggende). Det er imidlertid ikke noe krav for hvilken spesiell landskapsretning sensoren må møte. Vanligvis bruker de fleste produsenter en fremover-landskapsorientert sensor, men LG / Google valgte å orientere sitt omvendte landskap. Plass kommer på en pris på de fleste mobiltelefoner, så produsenter må ofte nøye seg med begrensningene de får. Nexus 5X er intet unntak - et raskt blikk på en nedrivning avslører at det er lite rom igjen i enheten til hovedkortet takket være den enorme størrelsen på batteriet.

Fordi denne omvendt liggende orienteringen sjelden blir sett, korrigerer ikke mange tredjeparts applikasjonsutviklere for denne retningen når de behandler et bilde. Ved å bruke den gamle Camera API kan utviklere fikse dette kameraorienteringsproblemet ved å ringe til metoden setDisplayOrientation () for å sjekke sensoren for riktig UI-retning og rotere bildet riktig. Med introduksjonen av Camera2 API er dette imidlertid ikke lenger nødvendig siden API sørger for at forhåndsvisningen er riktig orientert. Likevel, hvis du legger merke til en av favorittappene dine som ikke orienterer bildene dine feil, kan du ta dem en e-postmelding der du ber dem oppdatere koden for å korrigere for denne merkeligheten.

Har du kommet over dette problemet ennå? Gi oss beskjed i kommentarene nedenfor (og spesielt la utviklerne vite!)