繁体   English   中英

压缩图像而不损失质量

[英]Compress image without losing the quality

我一直在开发一个拍照并保存的Android应用。 我想通过压缩图像来提高上传速度。 但是当我使用BitmapCompress压缩它们时,图像似乎失去了质量。 这里 :

RAW

在此处输入图片说明

压缩

在此处输入图片说明

之前 :尺寸-1920X1920文件大小-2.94MB

之后 :尺寸-960X960文件大小-644KB

我想知道是否有办法可以解决我的问题? Instagram似乎正在执行这种压缩操作,而不会损失图像质量。

压缩总是会以一种或另一种方式导致质量下降。

您可以执行以下操作:

  • 如果您尚未使用压缩格式,请将其更改为PNG。
  • 在尺寸和质量之间找到完美的折衷方案

我同意@Saret BitmapCompress将以良好的质量减小文件大小。 您可以使用80%的质量压缩(无需缩放)从约3MB的照片中获得约800-900KB的照片。 裁剪照片可获得更好的效果。

如果您不关心缩放和深度细节对您不重要,我强烈建议您使用以下库:

Bitmap yourbitmap

[...]

OutputStream os = new FileOutputStream(filename); 
yourbitmap.compress(CompressFormat.JPEG, 80, os);  // 80% compression

这将使您的图像保持明亮且具有良好的质量。

一些值得研究的关键字:

  • “ EXIF删除”
  • “无损压缩”

说明:

删除一些多余的EXIF数据

您可以尝试通过删除存储在图像中的EXIF数据来减小文件大小。 在许多情况下,EXIF数据会占用大量空间,并且通常包含的信息超出了用户使用案例所需的信息。

快速的Google搜索显示以下工具可能有助于删除EXIF数据。 具有Windows和Mac版本:

http://www.exifpurge.com/

至于可以在您的android构建过程中使用的工具,则需要进一步搜索。 但是至少“ EXIF删除android库”是开头不错的关键字

无损压缩

另一种选择是研究无损压缩。 我过去在网络开发中使用过它们。 就我而言,我使用了从命令行运行的库以及“ grunt”构建工具。

谷歌快速搜索显示了以下网站,可以直接从您的浏览器访问。

https://compressor.io/compress

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM