題:
iPhone為什麼將屏幕截圖捕獲為PNG?
Raptor
2014-12-14 08:44:38 UTC
view on stackexchange narkive permalink

iPhone是否有理由將拍攝的屏幕截圖保存為.PNG而不是.JPG?

屏幕截圖始終不會具有透明背景。

另請參見[TIFF與PNG](http://photo.stackexchange.com/q/13893/37797)和http://photo.stackexchange.com/q/11689/37797
三 答案:
Franck Dernoncourt
2014-12-14 08:59:18 UTC
view on stackexchange narkive permalink

PNG不僅有助於實現透明性:PNG是一種無損格式,而JPEG使用的是有損壓縮形式。而且PNG確實可以很好地壓縮屏幕截圖(與相機照片不同,這就是Apple為此使用JPG的原因)。


更多信息,如有興趣:

enter image description here

此外,有關PNG的技術概述值得一讀(它基本上是該主題的主要參考文獻之一,並且包含足夠的細節來解決這一問題)。摘錄:

對於Web而言,截至1999年初,有兩種普遍支持的圖像格式:JPEG和GIF。 JPEG非常適合其設計任務-即存儲,傳輸和顯示具有逼真的質量和出色壓縮效果的逼真的8位灰度和24位真彩色圖像-而PNG從未打算按照自己的條件與JPEG競爭。但是PNG像GIF一樣,比JPEG更適合於顏色很少或邊緣很銳利的圖像,例如卡通或位圖文本。 PNG還直接支持伽瑪校正(寬鬆地說,圖像``亮度''的跨平台控制)和透明度。我將在稍後對此進行更詳細的討論。

GIF是Web最初的跨平台圖像格式,在許多方面仍然是一個不錯的選擇。但是PNG是專門設計用來替代GIF的,與舊格式相比,它具有三個主要優點:alpha通道(可變透明度),gamma校正和二維隔行掃描(一種以越來越高的細節水平顯示圖像的方法)。在幾乎每種情況下,PNG的壓縮效果都比GIF更好,但通常差異僅在5%到25%之間,(通常)這並不是一個足夠大的因素來鼓勵人們僅在此基礎上進行切換。 PNG不會嘗試複製的一項GIF功能是多圖像支持,尤其是動畫。 PNG曾經並且打算僅是單圖像格式。 已經開發出一種非常類似於PNG的擴展格式,稱為MNG,以解決此限制。

順便說一句,屏幕截圖和相機照片之間的主要區別在於,屏幕截圖基本上是幾何形狀,並且不像相機照片那樣“模糊”(因此PNG壓縮的照片可能比原始照片大)。但是,要很好地壓縮攝像機數據,會損失一些精度,因此,不要在完美銳利的線條和精確的佈局(如屏幕截圖)中使用它。
換句話說,關鍵區別在於照片與大多數渲染圖形之間的每像素數據變化模式。渲染的圖形通常包含相同顏色和透明度的區域,PNG面向_repetition_的壓縮可以很好地處理這些區域。另一方面,由於所捕獲的物理世界的複雜性,照片在整個圖像上呈現出連續,複雜的變化。幾乎沒有重複。因此JPEG採用了另一種方法,即通過對圖像的頻率空間及其傅里葉係數進行編碼來包含變化。
很好的展示和講述。您每天都在學習新知識。
這就提出了一個正確的觀點,一個在90年代和2000年代初從事Web開發的人對此太了解了,但是仍然存在著,如果您只能選擇一種格式,那麼PNG通常是最好的。錯誤選擇PNG會導致文件大小超出必要,而錯誤選擇JPG會導致文件大小超出必要和/或質量下降。
@Franck, [需要引用](http://xkcd.com/285)*“ PNG是專門設計用來替代GIF” *,
@Pacerier嗯,引號來自http://www.libpng.org/,這不夠權威嗎?
@FranckDernoncourt, PNG專門用於替換GIF [**由於專利問題**](https://en.wikipedia.org/wiki/Portable_Network_Graphics#History_and_development),而不是您的回答所暗示的壓縮/圖像質量。
@Pacerier WP還說:“ GIF格式還存在其他問題,人們迫切希望替代它,特別是當計算機能夠顯示遠超過256種顏色時,其限制為256種顏色。”但是我對這個故事不熟悉,我不知道是什麼驅動因素。隨時修改我的答案。感謝您的信息!
Ilmari Karonen
2014-12-14 20:10:52 UTC
view on stackexchange narkive permalink

因為這個:

PNG screenshot

看起來比這個更好:

JPEG screenshot

好,所以我不得不降低JPEG壓縮質量 ,以使壓縮偽像變得顯而易見,但要點仍然存在-PNG屏幕截圖準確地顯示了您會在屏幕上看到,而JPEG屏幕快照總是 有點損耗(是的,即使將畫質提高到100也是如此)。

此外,PNG往往會非常適合壓縮大面積的單色,銳利邊緣和重複圖案(如文本)的圖像。因此,在許多情況下,無損PNG屏幕截圖實際上可以小於以任何可接受的質量級別保存的JPEG屏幕截圖。

表演而不是訴說的道具!
但是在這裡,PNG的大小是JPEG大小的4倍(33ko vs 8 ko)。也許您應該嘗試上傳與PNG大小相同的JPEG,以便進行真正的比較
@Thomas: [這是一個35 kB的JPEG以供比較。](http://i.stack.imgur.com/7kV4I.jpg)它雖然不及8 kB的小,但仍具有可見的壓縮偽像,例如灰色在文本周圍徘徊。但是,對於答案,我想要一個示例,即使屏幕/視力不好,偽像也將是“顯而易見的”。
我了解,但是最好將蘋果與蘋果進行比較,因為如果您帶胡蘿蔔,那麼您的好答案就變成了一個半妙的答案。無論如何,我為視覺示例投了贊成票:)
還有一點,就是我們在大約十年前就不再關心千字節了:PNG是我們擁有的最佳無損壓縮技術,因此,除非空間有限,否則它通常是最佳選擇。在高清視頻的世界中,不再需要在照片上添加幾kb的空間。
Russell Borogove
2014-12-16 00:52:53 UTC
view on stackexchange narkive permalink

屏幕截圖的功能之一是向他人展示您在設備上看到的特定視覺偽像-可能是向應用程序開發人員顯示視覺毛刺。在這種情況下,任何壓縮偽影都可能會干擾正在討論的實際問題;屏幕截圖必須是像素完美的。

因此,必須使用.PNG這樣的無損格式。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...