1
我試圖製作一個應用程序,允許用戶從圖庫/拍照中選擇圖像並將結果設置爲位圖。當我測試應用程序時,我發現三星設備的旋轉是越野車。爲什麼三星android設備中的旋轉不起作用?
搜索了一段時間後,我發現,旋轉不是由谷歌定義,但製造商自己和三星似乎有一些不同的設置。此外,還有一些建議使用另一種方式來檢查旋轉。
如何解決這個問題? (注意:不僅拍攝照片,而且從畫廊的圖片具有相同的旋轉問題)
下面是提供的文件路徑getbitmap代碼:
private Bitmap getBitmap(String path) {
Uri uri = getImageUri(path);
InputStream in = null;
try {
in = mContentResolver.openInputStream(uri);
//Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(in, null, o);
in.close();
int scale = 1;
if (o.outHeight > IMAGE_MAX_SIZE || o.outWidth > IMAGE_MAX_SIZE) {
scale = (int) Math.pow(2, (int) Math.round(Math.log(IMAGE_MAX_SIZE/(double) Math.max(o.outHeight, o.outWidth))/Math.log(0.5)));
}
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
in = mContentResolver.openInputStream(uri);
Bitmap b = BitmapFactory.decodeStream(in, null, o2);
in.close();
return b;
} catch (FileNotFoundException e) {
Log.e(TAG, "file " + path + " not found");
} catch (IOException e) {
Log.e(TAG, "file " + path + " not found");
}
return null;
}
感謝您的幫助