[英]Android Native Camera App Orientation Issue for selfie taken
遵循Android文檔編寫用於通過意圖啟動本機攝像頭的代碼:
http://developer.android.com/training/camera/photobasics.html
問題 :我正在使用Andorid Native Camera App從我的應用程序中拍照並通過上述鏈接(MediaStore.ACTION_IMAGE_CAPTURE)中所述的意圖啟動,並且相機已成功啟動。 當我單擊“本機”應用程序的“相機”按鈕拍攝照片時,在拍攝自拍照時鏡像預覽被鏡像(左圖出現在右邊),這是自拍照用戶討厭的自拍照用戶,因為圖像預覽不是他單擊的。
其次-單擊圖像后,它將顯示圖像預覽並等待用戶輸入以接受或拒絕圖片。
接受圖像后,OnStartActivityResult(如上面的鏈接所述)函數將接收該調用並將圖像保存到圖庫。 奇怪的是:圖像反轉了180度然后保存,這是非常奇怪的行為。
最后,這里有兩個問題: 圖像預覽在用戶批准之前出現Mirroing問題,而在保存圖像反轉問題時(反向180度)。
設備:三星A6 Edge
的Android: 5.1
清單文件中的Camera : Android.hardware.camera2,因為不推薦使用Camera,請告知我如何解決以上兩個問題。
另外- 我還有一個疑問 :我應該使用android native camera應用程序還是使用Camera Framework編寫代碼並啟動自定義相機? 我只需要單擊圖片並顯示預覽並以正確的方向保存它。 經過大量搜索后,我很懷疑-本機相機應用程序可以解決這些問題嗎? 但是您的專家建議可以提供幫助。
非常感謝您對此的任何快速支持和指導。 提前致謝 ! 這是代碼:
public void triggerCamera() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imagePath = AppPhotoHelper.getOutputMediaFile();
// Continue only if the File was successfully created
if (imagePath != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(imagePath));
takePictureIntent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
this.setImagePath(imagePath);
this.startActivityForResult(takePictureIntent, CAMERA_PIC_REQUEST);
}
}
onActivityResult函數:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
if (resultCode == RESULT_OK ) {
//AppPhotoHelper is my class to show image in gallery
AppPhotoHelper.displayInGallery(this.getImagePath(), this);
//Image captured and stored in gallery ... camera invoked for next shot after doing some business processing
this.triggerCamera();
}
else if (resultCode == RESULT_CANCELED) {
return;
}
else {
return;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.