2010-11-18 110 views
0

我的應用程序的格式都是縱向模式。奇怪的是,當我以縱向模式拍攝照片時,它將顯示在ImageView的側面(就像它被橫向拍攝)一樣,右側顯示的唯一方式是如果我以橫向模式拍攝照片。讓攝像頭始終返回右側向上拍攝的照片?

任何人都知道一個簡單的解決方法,無論照相機的方向如何,照片的乘坐方向都會顯示出來嗎?如果有人需要查看,我可以輕鬆提供我的代碼。

謝謝!

回答

3

這是我在activity中使用onActivityResult()的代碼。返回的意圖是用於選取類型爲image/*的圖像。適合我!

Uri imageUri = intent.getData(); 
String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION}; 
Cursor cur = managedQuery(imageUri, orientationColumn, null, null, null); 
int orientation = -1; 
if (cur != null && cur.moveToFirst()) { 
    orientation = cur.getInt(cur.getColumnIndex(orientationColumn[0])); 
} 
Matrix matrix = new Matrix(); 
matrix.postRotate(orientation); 
+0

聰明!我有一個解決方案來檢查EXIF標籤......這是一個很好的選擇。 (雖然爲什麼BitmapFactory.decodeBitmap()不尊重JPEG方向肯定是真正的問題)。 – 2011-08-03 18:45:37

+0

謝謝你。我試圖使用Exif標籤,但在檢查從意圖返回的圖像時,它始終爲0。 – dbaugh 2011-08-03 21:15:29

相關問題