我一直在开发一款能够拍照并保存的Android应用。我希望通过压缩图像来提高上传速度。但是当我使用BitmapCompress
压缩它们时,图像似乎失去了它的质量。在这里:
RAW :
COMPRESSED :
之前: 尺寸 - 1920X1920 文件大小 - 2.94MB
AFTER后: 尺寸 - 960X960 文件大小 - 644KB
我想知道是否有办法,图书馆可能会解决我的问题? Instagram似乎在不损失图像质量的情况下进行压缩。
答案 0 :(得分:2)
压缩总会导致质量下降。
以下是您可以做的事情:
答案 1 :(得分:2)
我同意@Saret BitmapCompress会以优质的方式减小文件大小。您可以使用80%质量压缩从~3MB照片获得约800-900KB的照片,无需缩放。裁剪照片可以获得更好的效果。
如果您不关心缩放并且深入细节对您来说并不重要,我强烈建议您使用以下库:
答案 2 :(得分:0)
Bitmap yourbitmap
[...]
OutputStream os = new FileOutputStream(filename);
yourbitmap.compress(CompressFormat.JPEG, 80, os); // 80% compression
这将使您的图像保持清晰且质量良好。
答案 3 :(得分:0)
值得关注的一些关键词:
您可以通过删除存储在图像中的EXIF数据来尝试减少文件大小。在许多情况下,EXIF数据占用了大量空间,并且通常包含的信息多于用户可能需要的用例。
快速谷歌搜索显示以下工具可能有助于删除EXIF数据。有Windows和Mac版本:
至于可以在android构建过程中使用的工具,需要进一步搜索。但至少'EXIF删除安卓库'是以
开头的好关键词另一种选择是研究无损压缩。我过去在Web开发中使用过它们。在我的例子中,我使用了从命令行工作的库和'grunt'构建工具。
快速谷歌搜索显示以下网站直接从您的浏览器。