2010-12-16 15 views
5

Pracuję nad aplikacją na Androida, która korzysta z aparatu w telefonie. Po zrobieniu zdjęcia w "standardowej orientacji" (u dołu telefonu u dołu lub u dołu telefonu po prawej) otrzymany obraz jest zgodny z oczekiwaniami. W niektórych telefonach, gdy zdjęcie jest robione w "niestandardowej orientacji" (u dołu telefonu u góry lub u dołu telefonu po lewej), odebrany obraz jest odwrócony do góry nogami. W niektórych telefonach aplikacja aparatu obsługuje to i zwraca obraz w oczekiwany sposób.Orientacja aparatu/obrazu w Androidzie

Moje pytanie brzmi, ponieważ wydaje się, że zależy to od telefonu (producenta), czy istnieje sposób na wykrycie tego i obrócenie obrazu w razie potrzeby bez konieczności utrzymywania zakodowanej listy typów telefonów?

+1

Pan spojrzał w EXIF, aby zobaczyć, czy faktyczna orientacja przechwytywania jest zrobione poprawnie tam? Może to być kwestia nieinterpretowania tych danych poprawnie podczas wyświetlania ... Tylko jedna myśl. – SEngstrom

+1

Pracowałem z tagami EXIF. Kiedy zdjęcie jest zrobione, większość znaczników EXIF ​​jest ustawiona, ale orientacja jest "niezdefiniowana". –

Odpowiedz

5

Należy ustawić obrót kamery, aby uzyskać prawidłowo obrócony obraz. Spróbuj użyć -

public void setRotation (int rotation) 

zobacz przykładowy kod warunkiem here