【问题标题】:Android - Image quality when uploading to serverAndroid - 上传到服务器时的图像质量
【发布时间】:2013-02-17 17:09:49
【问题描述】:

经过数小时的调查和梳理各种教程和提示后,我已经没有办法了,决定发布我的问题。

我看到的是,当用户从照片库中选择一张图片并将该图片上传到我的服务器时,图片的大小会大大减小。

我记得在某处看到一个提示,即从图库中选择时的标准行为是缩略图而不是完整图像。真的吗?这是我的相关代码:

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

然后,我检索我创建的文件并执行此操作(这是我失去质量的地方吗???):

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

【问题讨论】:

    标签: android image upload resolution


    【解决方案1】:

    尝试使用

    **

    bmp.compress(Bitmap.CompressFormat.PNG, 100, 流)

    **;

    还请阅读下面给出的链接以了解差异。 PNG vs. GIF vs. JPEG vs. SVG - When best to use?

    【讨论】:

      猜你喜欢
      • 2016-01-26
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 2013-12-17
      • 2014-03-21
      • 2014-03-24
      • 2015-07-13
      • 2011-08-31
      相关资源
      最近更新 更多