[英]Compress image without losing the quality
我一直在开发一个拍照并保存的Android应用。 我想通过压缩图像来提高上传速度。 但是当我使用BitmapCompress
压缩它们时,图像似乎失去了质量。 这里 :
RAW :
压缩 :
之前 :尺寸-1920X1920文件大小-2.94MB
之后 :尺寸-960X960文件大小-644KB
我想知道是否有办法可以解决我的问题? Instagram似乎正在执行这种压缩操作,而不会损失图像质量。
压缩总是会以一种或另一种方式导致质量下降。
您可以执行以下操作:
我同意@Saret BitmapCompress将以良好的质量减小文件大小。 您可以使用80%的质量压缩(无需缩放)从约3MB的照片中获得约800-900KB的照片。 裁剪照片可获得更好的效果。
如果您不关心缩放和深度细节对您不重要,我强烈建议您使用以下库:
Bitmap yourbitmap
[...]
OutputStream os = new FileOutputStream(filename);
yourbitmap.compress(CompressFormat.JPEG, 80, os); // 80% compression
这将使您的图像保持明亮且具有良好的质量。
一些值得研究的关键字:
您可以尝试通过删除存储在图像中的EXIF数据来减小文件大小。 在许多情况下,EXIF数据会占用大量空间,并且通常包含的信息超出了用户使用案例所需的信息。
快速的Google搜索显示以下工具可能有助于删除EXIF数据。 具有Windows和Mac版本:
至于可以在您的android构建过程中使用的工具,则需要进一步搜索。 但是至少“ EXIF删除android库”是开头不错的关键字
另一种选择是研究无损压缩。 我过去在网络开发中使用过它们。 就我而言,我使用了从命令行运行的库以及“ grunt”构建工具。
谷歌快速搜索显示了以下网站,可以直接从您的浏览器访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.