2013-03-03 59 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。 任何见解或提示将不胜感激。谢谢。

回答