Dažas kameru lietotnes Nexus 5X displejā ir apgrieztas otrādi, un tas ir saistīts ar retu ražošanas lēmumu. Lūk, kā tas notiek un kā to var novērst.
Jaunie Google Nexus 5X lietotāji, iespējams, ir pamanījuši, ka rodas savdabīga problēma, kad viņi uzņem attēlu, izmantojot dažas trešās puses kameru lietotnes — attēls galu galā ir kājām gaisā!
Tomēr šī problēma nav ekskluzīva tikai Nexus 5X, kā tas ir noticis iepriekš Nexus 6 priekšējā kamerā. Kas izraisa šo problēmu? Vai tā ir ražotāja problēma vai programmatūras problēma? Izrādās, ka tas ir mazliet no abiem.
Saskaņā ar Eino-Ville Talvala, kas ir Android kameru ietvara tehnoloģiju līderis, problēma rodas tāpēc, ka daži ražotāji uzstādiet kameras sensoru savām ierīcēm neparastā orientācijā. Lai ievērotu Android saderības prasības, ražotājiem ir jāsaskaņo sava kameras sensora garā mala ar ierīces garo malu (tas nozīmē, ka pēc noklusējuma aizmugurējās kameras sensoram jābūt orientētam tā, lai attēli būtu ainaviski). Tomēr nav prasību, kurā konkrētajā ainavas virzienā sensoram ir jābūt vērstam. Parasti lielākā daļa ražotāju izmanto uz priekšu orientētu sensoru, taču LG/Google izvēlējās orientēt savu apgriezto ainavu. Lielākajai daļai mobilo tālruņu telpa ir dārga, tāpēc ražotājiem bieži ir jāsamierinās ar ierobežojumiem, kas viņiem tiek doti. Nexus 5X nav izņēmums — ātri apskatot nojaukšanu, atklājas, ka, pateicoties milzīgajam akumulatora izmēram, ierīcē ir atlicis maz vietas pamatplatei.
Tā kā šī apgrieztā ainavas orientācija ir reti sastopama, daudzi trešo pušu lietojumprogrammu izstrādātāji, apstrādājot attēlu, nekoriģē šo orientāciju. Izmantojot veco Camera API, izstrādātāji var novērst šo kameras orientācijas problēmu, zvanot uz setDisplayOrientation() metode, lai pārbaudītu sensora pareizo lietotāja interfeisa orientāciju un pareizi pagrieztu attēlu. Tomēr, ieviešot Camera2 API, tas vairs nav nepieciešams, jo API nodrošina, ka priekšskatījums ir pareizi orientēts. Tomēr, ja pamanāt, ka kāda no savām iecienītākajām lietotnēm nepareizi orientē attēlus, lūdzu, nosūtiet viņiem e-pastu, aicinot atjaunināt savu kodu, lai novērstu šo dīvainību.
Vai esat jau saskāries ar šo problēmu? Paziņojiet mums tālāk esošajos komentāros (un jo īpaši dariet to izstrādātājiem!)