2 回答

TA貢獻1862條經驗 獲得超6個贊
文件的大小與圖像的質量沒有直接關系。它還取決于編碼器的工作效率。由于它是 PNG,因此過程是無損的,因此您無需擔心 - 質量得以保留。
請注意,quality
保存 JPEG 文件與 PNG 文件時,該參數具有不同的含義:
對于 JPEG 文件,如果您指定較低的質量,您實際上是在允許編碼器丟棄更多信息并放棄圖像質量以換取較小的文件大小。
使用 PNG,您的編碼和解碼是無損的。質量是解碼器關于壓縮文件(始終無損)花費多少時間以及可能最適合的過濾/編碼類型的提示。它更類似于參數
gzip
like--best
或--fast
。
有關 PNG 格式的更多信息,請訪問 Wikipedia。
如果不分析這兩個圖像的內容,就不可能說出尺寸不同的原因——可能有很多原因:
一個編碼器可能已經注意到圖像包含少于 256 種顏色,因此決定使用調色板,而另一個可能沒有這樣做。這可能會使圖像大小相差 3 倍,但質量卻是相同的。
一個編碼器可能會使用更大的緩沖區并花費更長的時間來尋找圖像中的重復模式。舉一個簡單的例子,假設圖像寬 32,000 像素,每條線都與上面的相同。如果一個編碼器使用 8kB 緩沖區,它永遠不會發現圖像只是在頁面上一遍又一遍地重復,因此它必須完整編碼每一行,而具有 64kB 緩沖區的編碼器可能只能使用 1 個字節行并使用 PNG 過濾說“與上面的行相同”。
一個編碼器可能會基于代碼的簡單性或缺乏代碼空間而決定始終以 16 位版本對數據進行編碼,即使它只能使用 8 位。
一個編碼器可能會決定它總是要存儲一個 alpha 層,即使它是不透明的,因為這可能會使代碼/數據更簡單。
一個編碼器可總是選擇這樣做沒有過濾,而其他必須做所需的代碼
sub
,up
,average
或Paeth
過濾。一個編碼器可能沒有足夠的內存來保存整個圖像,因此它可能必須使用一種簡單的方法來確保它可以處理圖像流中稍后出現的任何內容。
我只是編造了這些例子——不要認為它們是福音——我只是想說明一些可能性。

TA貢獻1858條經驗 獲得超8個贊
要從剪貼板復制文件的精確副本,唯一的方法是剪貼板是否包含原始文件的逐字節副本。當內容來自程序中的“復制”功能時,不會發生這種情況。
從理論上講,可以通過設置帶有原始文件副本的 blob 類型對象來創建程序來執行此操作,但這會非常低效并且會破壞剪貼板的目的。
一些要點:
- 當您使用文件管理器復制到剪貼板時,剪貼板將引用原始文件(不是整個文件,可能比 ram 大得多)
- 大多數程序會將剪貼板內容設置為“有用的版本”顯示或選擇的數據。這在很大程度上取決于程序創建者的解釋。
- 在讀取圖像時解析剪貼板內容再次受到用于處理數據并將其打包成圖像格式的庫的奇思妙想。
通常,如果您想完全復制文件,最好只復制原始文件。
話雖如此:評估復制粘貼過程的目的,并決定您從剪貼板獲得的數據是否“足夠好”用于預期目的。這顯然取決于你想用它做什么。
添加回答
舉報