我正在使用下面的代碼打開攝像頭。是否可以將攝像機分辨率設置爲高編程?以編程方式在android中更改攝像頭分辨率設置
private void openDefaultCameraApp() {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
我正在使用下面的代碼打開攝像頭。是否可以將攝像機分辨率設置爲高編程?以編程方式在android中更改攝像頭分辨率設置
private void openDefaultCameraApp() {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
您必須添加一個MediaStore.EXTRA_OUTPUT
的意圖。在額外的情況下,你必須指定一個Uri來保存圖片。這將保存完整分辨率的圖像,否則,它只會拍攝一張小圖像。
參考Android的文檔:可發送到有攝像頭應用程序捕獲圖像並將其返回ACTION_IMAGE_CAPTURE
標準意圖的行動。 調用者可能會傳遞額外的EXTRA_OUTPUT
來控制此圖像的寫入位置。如果EXTRA_OUTPUT
不存在,則在額外的字段中將小圖像作爲位圖對象返回。這對於只需要小圖像的應用程序很有用。如果EXTRA_OUTPUT
存在,那麼全尺寸的圖像將被寫入的EXTRA_OUTPUT
開放的價值,我認爲它不是可能看到下面的鏈接:
Open Android Camera in lower resolution with ACTION_IMAGE_CAPTURE
您必須手動設置從相機預覽屏幕分辨率。
即使您的相機分辨率設置得很高,使用Zed Scio的方法也可以實現小幅縮放。
他使用Intent方法,而不是Camera對象。注意,該方法稱爲openDefaultCameraApp() –