2016-11-11 101 views
-1

此活動從背面相機拍攝3張照片並將它們保存在手機內部存儲器中。他們以後可以訪問進行測試。該應用程序確實可以工作,但問題是保存的圖像非常小,從手機拍攝時只有20KB。 (這不是手機的功能,他們的手機在拍攝手機相機時從工廠相機應用程序拍攝正常尺寸的照片。)從Android Studio保存的圖像應用程序非常小

我認爲這一定是我保存圖像的方式,但我一直未能找到其他方式來改變這個問題。我已經包含了相關的activity.java代碼,這個XML文件非常有用,並且包含一個簡單的picView。

還有一個錯誤,當活動正在進行時,當物理電話本身移動很多時,似乎會導致活動崩潰。我爲此感到不知所措。我想也許它與手機方向有關,但是當我鎖定屏幕方向時,如果手機在測試過程中移動太多,它仍然會崩潰。

+0

「,但問題在於保存的圖像非常小,從手機拍攝時只有20KB「 - 因爲您似乎無法在任何地方設置圖像分辨率,所以可能會得到一些默認分辨率。 – CommonsWare

+0

我將如何去設置圖片分辨率? – Toby

回答

0

我是一個很新的開發人員,我一直停留在這個問題上天

某處在那些日子裏,你應該看過一本書上的Android應用程序開發,一個上有一個章節用相機拍照。總的來說,使用相機API非常困難,而不是我推薦給「非常新的開發人員」的東西。

但問題是,保存的圖像是非常小的,他們只喜歡20KB從手機

拍攝時,你似乎沒有被設置的圖像分辨率。無論它選擇什麼樣的默認值,您獲得的大小取決於硬件。也許你的測試設備選擇了小尺寸作爲默認設置。

我該如何去設置圖片分辨率?

第1步:您得到您的Camera對象後,使用上Camera

步驟#2調用getParameters()的結果填寫您的parameters領域:在Camera.Parameters對象調用getSupportedPictureSizes(),找出什麼圖片分辨率(「大小」)攝像頭硬件支持

第3步:選擇這些尺寸之一,以任何你想要的算法(例如,最大的面積

步驟#4:Camera.Parameters對象調用setPictureSize(),供您從步驟#選擇大小3

第五步:在Camera呼叫setParameters(),傳遞你的Camera.Parameters對象

private void configureCamera(Camera camera) { 
    Camera.Parameters params = camera.getParameters(); 
    List<Size> sizes = params.getSupportedPictureSizes(); 
    Camera.Size size = // insert your algorithm here 

    params.setPictureSize(size.width, size.height); 

    camera.setParameters(params); 
} 
+0

非常感謝,你救了我的命! – Toby

相關問題