2015-07-10 85 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。 –

相關問題