2013-03-03 39 views
2

經過數小時的調查和梳理各種教程和提示後,我已經用完了選項並決定發佈我的問題。Android - 上傳到服務器時的圖像質量

我所看到的是,當用戶從照片庫中選擇圖像並將該圖像上傳到我的服務器時,圖像的大小會大大降低。

我記得在某處看到一個提示,從畫廊中選擇時的標準行爲是縮略圖而不是完整圖像。真的嗎?這裏是我的相關代碼:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null); 
intent.setType("image/*"); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());    
startActivityForResult(intent, PICK_FROM_FILE); 

然後,我檢索我創建並做到這一點(這是我在哪裏丟失的質量580)文件:

Bitmap bitmap = BitmapFactory.decodeStream(new FileInputStream(tempFile1)); 

然後,這裏是我的邏輯將其轉換爲ByteArray:

Bitmap bmp = BitmapFactory.decodeFile(fileString); 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
byte [] ba = stream.toByteArray(); 

爲了進一步藉此一步,我想有裁剪圖像,並保持一定的尺寸比例爲原始大小的能力。例如,如果圖像的原始大小是2000x2000,並且用戶垂直裁剪圖像,我希望最終結果爲1000x1000。 任何見解或提示將不勝感激。謝謝。

回答