2016-11-25 14 views
-1

일반적으로 폭> 높이가 가로이고 폭이 < 인 이미지는 세로입니다.Android - 동일한 정보를 가진 이미지로 풍경 또는 인물을 결정하십시오.

하지만 내 삼성 Galaxy S6의 이미지의 W : H (기본적으로 카메라 앱으로 촬영 됨)는 인물이지만 항상 풍경입니다.

가로 및 세로 이미지의 정보는 모두 5312 x 2988입니다. 세로가 2988 x 5312이어야하지만 그렇지 않으면 5312 x 2988도 표시됩니다.

내 코드에 입력하면 항상 이미지가 가로로 인식됩니다.

이미지를 갤러리에 올바르게 표시하기 때문에 다른 방법으로이를 검사해야합니다. 이미지의 W : H를 사용하면 모든 이미지가 조경으로 표시되어야합니다.

사용할 수있는 이미지 내에 다른 정보가 있습니까? 시간 내 주셔서 감사합니다.

답변

0

이미지는 거의 모든 장치에서 가로 모드로 촬영되므로 가로 및 세로로 볼 경우 이미지 크기가 동일하므로 둘 다 크기가 같습니다.

getResources().getConfiguration().orientation 

onConfighanges(Configuration newConfig) 

see this link

+0

고맙습니다! 그러나 휴대 전화가 세로 모드 또는 가로 모드 인 경우 이미지가 찍히는 지 여부는 중요하지 않습니다. 그것은 이미지의 크기가 휴대 전화의 현재 상태가 아닙니다 (세로 모드에서 사진을 찍을 수 있지만 가로 모드에서 이미지를 가져 오는 코드를 사용하는 것처럼 사진이 세로로 감지되어야 함, getResources() .getConfiguration(). orientation'이 전화의 상태를 가져옵니다.) –

0

의 방향 변경 내가 문제에 대한 해결 방법을 찾을 때마다 콜백을 얻을 :

당신은 다음 코드에 의해 장치 방향을 확인할 수 있습니다. 이것은 100 % 작동하지 않을 수도 있지만 아마도 도움이 될 것입니다.

ExifInterface exifi = new ExifInterface(originalAvatarPath.getPath()); 
       int ori = Integer.parseInt(exifi.getAttribute(ExifInterface.TAG_ORIENTATION)); 

here

모든 이미지에 설명되어 ExifInterface.ORIENTATION_ROTATE_180 또는 ExifInterface.ORIENTATION_ROTATE_90 같은 값이 동일한 경우는 다음 ori를 비교합니다 포함

나는이 같은 ExifInterface.TAG_ORIENTATION를 확인하기 위해 ExifInterface를 사용하여 종료 Exif 정보,하지만 그것은 나를 위해 작동합니다.

희망이 있습니다.