2011-08-30 73 views
0

JPEG的尺寸比PNG小。所以,我認爲如果我可以使JPEG文件中的特定區域透明,使用一些代碼,也許我可以保存一些字節。使用JPEG的透明度

那麼有誰知道如何實現這個例如PHP或JavaScript?

+2

號JPEG文件不支持透明度。 – js1568

+0

JPEG也小於PNG,因爲JPEG使用有損壓縮,而PNG使用無損壓縮。 –

+0

使用[pngquant](http://pngquant.org)([GUI](http://pngmini.com)),您至少可以減少透明PNG的尺寸。 – Kornel

回答

6

不,你不能這樣做。 JPG不支持Alpha通道,也無法將某些顏色指定爲透明(GIF格式)。

1

你不能這樣做,客戶端呈現圖像,並不知道你希望它將該顏色視爲透明(加上jpeg上的各種壓縮方法無論如何都不適用於透明膠片)。

我相信你可以用一個8位的定製托盤PNG,應該爲你節省很多空間。否則,24位PNG是您唯一的高顏色選項。

4

這有幾個問題,所有這些都與JPEG有關,是一種有損壓縮格式。 JPEG格式針對自然圖像進行了優化,尖銳邊緣會變得模糊。如果您打算特定像素的值應爲#d67fff,則不能保證在進行顏色轉換,FDCT,量化,IDCT和顏色轉換之後,該像素仍會具有該值。這個像素值也很有可能出現在你不想要的區域。

+0

這是我當時正在尋找的東西; http://peterhrynkow.com/how-to-compress-a-png-like-a-jpeg/ –

4

有一種方法,但有點hackish的: http://jim.studt.net/jpeg-alpha/

+0

這有驚人的潛力......特別是今天的高分辨率圖形。此方法可讓您在JPG的EXIF數據中嵌入PNG Alpha通道。可悲的是,它不適用於背景圖像。 我也研究過Webkit的屏蔽功能,不能等待非基於Webkit的瀏覽器和W3C採用Webkit的方法。 Firefox使用SVG具有非常小的屏蔽功能,但與基於Webkit的瀏覽器(如Chrome和Safari)不同,它的靈活性不高。使用Webkit,爲任何元素放置遮罩圖像與添加背景圖像一樣簡單靈活。 – purefusion