샤오미 노트와 넥서스 기기에서는 재현되지 않는다.
LG G4에서 재현된다.
앨범에 저장된 세로 이미지를 프로필 사진으로 등록하면 90도 회전되는 현상을 겪었다.
솔루션을 요약하자면, 사진의 메타정보(카메라 기종, 시간, 날짜, 방향 등등)를 조회할 수 있는 ExifInterface 클래스가 있다.
이 클래스의 ExifInterface.TAG_ORIENTATION 값이 회전된 각도다.
즉, 저 값이 0이나 null이면 사진이 회전되지 않은것이다.
값이 존재하면 그 값만큼 이미지를 회전시키면 된다.
이미지를 리사이징하기 전에 회전 방어코드를 적용했더니 잘된다.
아래 스택오버플로우 답변으로 한 큐에 해결되었다.
74 | If the image(photo) was taken by a program made by you, you must set Parameters.setRotation with the correct rotation value. This, depending of camera drive, rotates the image before save or save the rotation value to exif TAG_ORIENTATION. Therefore, if TAG_ORIENTATION is null or zero, the image are in the correct orientation, otherwise you must rotate image according the value in TAG_ORIENTATION. CODE Get orientation from EXIF:
Get bitmap rotated:
Method to rotate bitmap:
|
'Android > Knowhow' 카테고리의 다른 글
안드로이드 파일의 확장자 알아내기 getFileExtensionFromUrl (0) | 2017.02.23 |
---|---|
안드로이드 다운로드매니저 다운로드 실패했는데 뷰어에서 보인다. (0) | 2017.02.21 |
android studio - 포토샵없이 material design의 앱 아이콘 쉽게 만들기 (0) | 2017.02.16 |
프로필 이미지를 동그랗게 출력하기 (0) | 2017.01.26 |
API의 content type이 application/x-www-form-urlencoded 일 때 (0) | 2017.01.19 |