2015-07-10 91 views
0

我想减少磁盘上的图像大小而不会丢失质量。我不想改变原始图像的宽度和高度。有效地调整位图大小并且不会丢失质量android

我要像做https://tinyjpg.com/

它减少了图像的大小,而不改变图像的宽度和高度。

+0

“它可以在不改变图像宽度和高度的情况下减小图像的大小” - 它减少了JPEG占用的磁盘空间。由于堆空间仅由高度,宽度和位深度决定,因此生成的“位图”将使用与转换前相同的堆空间量。 “我想减小图像的大小(位图)” - 是指磁盘上的大小(即文件大小)还是内存中的“位图”的大小? – CommonsWare

+0

是的我指的是磁盘上的大小 – Raghav

+2

有[许多现有的工具](http://addyosmani.com/blog/image-optimization-tools/)。您需要将其中一个或两个移植为Android库。 – CommonsWare

回答

0

如果要在不进行更改测量的情况下缩小尺寸,则需要使用jpeg进行压缩。尝试这个;

String file = ... 
OutputStream s = new FileOutputStream(file); 
BitmapFactory.decodeFile(file).compress(CompressFormat.JPEG, 80, s); 
s.close(); 

80是在0-100(0最低质量,100最高质量)之间的压缩系数。尝试找到最适合你的情况。

+0

但是JPEG压缩是**有损**,OP **希望避免**。 '我想在不损失质量的情况下减小磁盘上的图像大小。“ –

+1

要压缩任何图像而不丢失,并且不更改分辨率? AFAIK唯一的选择是从您的图像中删除元数据 – Hyperion

+0

OptiPNG与PNG文件类似,它具有**无损**压缩。它也适用于颜色表AFAIK。 –

相关问题