2016-11-16 3 views
-1

이 코드를 사용하여 휴대폰에서로드 한 이미지를 미리 볼 수 있습니다. 문제는 카메라를 사용하여 이미지를 가져 와서 응용 프로그램은 90도 회전합니다. 이 문제의 원인은 무엇입니까? 일부 안드로이드 장치 (또는 카메라 애플 리케이션) 정말 비트 맵 (즉 세로 대 가로) 다른 사람은 항상 가로 비트 맵을 사용 만 넣어 장치 방향에 해당하는 생산 동안그림을 찍어 내 앱에서 미리보기하면 안드로이드의 일부 장치에서 이미지가 회전합니다.

private void addImageToGrid(String selectedImageUri) { 
    Bitmap bitmap = getBitmapFromPath(selectedImageUri); 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inSampleSize = 8; 
    int bitmapWidth = 90;//bitmap.getScaledWidth(density); 
    int bitmapHeight = 80;// bitmap.getScaledWidth(density); 
    ImageItem imageItem = new ImageItem(); 
    imageItem.setImage(Bitmap.createScaledBitmap(bitmap, bitmapWidth, bitmapHeight, false)); 
    imageItem.setUri(selectedImageUri); 
    gridViewAdapter.add(imageItem); 

}

+0

당신이이 글을 읽고 시도가 : 을 http://stackoverflow.com/questions/14066038/why-image-captured-을 using-camera-intent-gets-turned-on-some-devices-in-android – zerocool

답변

0

: 이것은 내 코드입니다 방향 정보를 JPEG 파일에 압축 된 EXIF ​​데이터에 저장합니다. 이미지가 올바르게 표시되는지 여부는 뷰어에 따라 다릅니다.

0

일부 장치는 카메라를 자동으로 회전하기 때문에 일부 장치는 가로 방향으로 만 다른 세로 방향만을 사용합니다. 가로 또는 세로를 확인하여 세로 또는 가로로 선택한 이미지를 확인해야합니다.

Bitmap bitmap 방향을 확인하고이 같은 회전 적용 그래서 첫째 :

enter link description here