成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

10 年前被刪的初戀,凌晨 1 點突然加我…

開發 前端
今天凌晨一點,突然有個人加我的qq,一看竟然是十年前被我刪掉的初戀……因為之前在qq空間有太多的互動,所以qq推薦好友里面經常推薦我倆互相認識……謎之尷尬

[[265551]]

背景

今天凌晨一點,突然有個人加我的qq,一看竟然是十年前被我刪掉的初戀……

因為之前在qq空間有太多的互動,所以qq推薦好友里面經常推薦我倆互相認識……謎之尷尬

 

同意好友申請以后,仔細看了她這十年間所有的qq動態和照片。

她變美了,會打扮了,以前瘦瘦的身材配上現在的裝扮和妝容,已經是超越我認知的女神了。

而我依然碌碌無為,逐漸臃腫的身體加上日益上揚的發際線,每天為生活操勞和奔波,還窮。

用一句話形容現在的感受就是:

“妳已經登上更高山峰而我只能望著妳遠去的背影”。

默默點了根煙,把她長得好看的照片都保存了下來。

咦?發現每一張照片都是 .png 的圖片格式。

png??png的圖片我們每天都在用,可是png到底是什么,它的壓縮原理是什么?

很好,接下來我將會給大家一一闡述。

什么是PNG

PNG的全稱叫便攜式網絡圖型(Portable Network Graphics)是目前網絡傳輸和展示的圖片格式,原因有如下幾點:

無損壓縮:PNG圖片采取了基于LZ77派生算法對文件進行壓縮,使得它壓縮比率更高,生成的文件體積更小,并且不損失數據。

體積?。核锰厥獾木幋a方法標記重復出現的數據,使得同樣格式的圖片,PNG圖片文件的體積更小。網絡通訊中因受帶寬制約,在保證圖片清晰、逼真的前提下,優先選擇PNG格式的圖片。

支持透明效果:PNG支持對原圖像定義256個透明層次,使得圖像的邊緣能與任何背景平滑融合,這種功能是GIF和JPEG沒有的。

PNG類型

PNG圖片主要有三個類型,分別為 PNG 8/ PNG 24 / PNG 32。

PNG8:PNG 8中的8,其實指的是8bits,相當于用2^8(2的8次方)大小來存儲一張圖片的顏色種類,2^8等于256,也就是說PNG 8能存儲256種顏色,一張圖片如果顏色種類很少,將它設置成PNG 8得圖片類型是非常適合的。

PNG24:PNG 24中的24,相當于3乘以8 等于 24,就是用三個8bits分別去表示 R(紅)、G(綠)、B(藍)。R(0~255),G(0~255),B(0~255),可以表達256乘以256乘以256=16777216種顏色的圖片,這樣PNG 24就能比PNG 8表示色彩更豐富的圖片。但是所占用的空間相對就更大了。

PNG32:PNG 32中的32,相當于PNG 24 加上 8bits的透明顏色通道,就相當于R(紅)、G(綠)、B(藍)、A(透明)。

R(0~255),G(0~255),B(0~255),A(0~255)。比PNG 24多了一個A(透明),也就是說PNG 32能表示跟PNG 24一樣多的色彩,并且還支持256種透明的顏色,能表示更加豐富的圖片顏色類型。

怎么說呢,總的來說,PNG 8/ PNG 24 / PNG 32就相當于我們屌絲心中,把女神分為三類:

一類女神=PNG8:屌絲舔狗們見到女神,頓時會覺得心情愉悅、笑逐顏開,屌絲發黑的印堂逐漸舒展,確認過眼神,是心動的感覺。

二類女神=PNG24:第二類女神開始厲害了,會給屌絲們一種菊花一緊、振聾發聵的心弦震撼,接觸多了第二類女神能讓屌絲每天精神抖擻,延年益壽。

三類女神=PNG32:在第三類女神面前,所有的語言都顯得蒼白無力。那是一種看了讓屌絲上下通透、手眼通天的存在。超凡脫俗、天神下凡都不足以描摹她美色的二分之一。我曾經只有在夢里才見到過。

哎……我的初戀,看著她現在的照片,應該是觸及PNG 24這一等級了。

PNG圖片數據結構

PNG圖片的數據結構其實跟http請求的結構很像,都是一個數據頭,后面跟著很多的數據塊,如下圖所示:

 

如果你用vim的查看編碼模式打開一張png圖片,會是下面這個樣子:

 

看到這一坨坨十六進制編碼是不是感覺和女神的心思一樣晦澀難懂?

老弟 莫慌,講實話,如果撩妹紙有那一坨坨亂碼那么簡單,哥哥我早就妻妾成群啦。

接下來我就一一講解這一堆十六進制編碼的含義。

89504e470d0a1a0a:這個是PNG圖片的頭,所有的PNG圖片的頭都是這一串編碼,圖片軟件通過這串編碼判定這個文件是不是PNG格式的圖片。

0000000d:是iHDR數據塊的長度,為13。

49484452:是數據塊的type,為IHDR,之后緊跟著是data。

000002bc:是圖片的寬度。

000003a5:是高度。

以此類推,每一段十六進制編碼就代表著一個特定的含義。下面其他的就不一一分析了,太多了,小伙伴們自己去查吧。

什么樣的PNG圖片更適合壓縮

常規的png圖片,顏色越單一,顏色值越少,壓縮率就越大,比如下面這張圖:

 

它僅僅由紅色和綠色構成,如果用0代表紅色,用1代表綠色,那用數字表示這張圖就是下面這個樣子:

  • 00000000000000000
  • 00000000000000000
  • 00000000000000000
  • 1111111111111111111111111
  • 1111111111111111111111111
  • 1111111111111111111111111

我們可以看到,這張圖片是用了大量重復的數字,我們可以將重復的數字去掉,直接用數組形式的[0, 1]就可以直接表示出這張圖片了,僅僅用兩個數字,就能表示出一張很大的圖片,這樣就極大的壓縮了一張png圖片。

所以!顏色越單一,顏色值越少,顏色差異越小的png圖片,壓縮率就越大,體積就越小。

PNG的壓縮

PNG圖片的壓縮,分兩個階段:

預解析(Prediction):這個階段就是對png圖片進行一個預處理,處理后讓它更方便后續的壓縮。說白了,就是一個女神,在化妝前,會先打底,先涂乳液和精華,方便后續上妝、美白、眼影、打光等等。

壓縮(Compression):執行Deflate壓縮,該算法結合了 LZ77 算法和 Huffman 算法對圖片進行編碼。

預解析(Prediction)

png圖片用差分編碼(Delta encoding)對圖片進行預處理,處理每一個的像素點中每條通道的值,差分編碼主要有幾種:

  • 不過濾
  • X-A
  • X-B
  • X-(A+B)/2(又稱平均值)
  • Paeth推斷(這種比較復雜)

假設,一張png圖片如下:

 

這張圖片是一個紅色逐漸增強的漸變,它的紅色從左到右逐漸加強,映射成數組的值為[1,2,3,4,5,6,7,8],使用X-A的差分編碼的話,那就是:

[2-1=1, 3-2=1, 4-3=1, 5-4=1, 6-5=1, 7-6=1, 8-7=1]

得到的結果為

[1,1,1,1,1,1,1]

[1,1,1,1,1,1,1]這個結果出現了大量的重復數字,這樣就非常適合進行壓縮。

這就是為什么漸變、顏色值變化不大并且顏色單一的圖片更容易壓縮的原理。

差分編碼的目的,就是盡可能的將png圖片數據值轉換成一組重復的、低的值,這樣的值更容易被壓縮。

還要注意的是,差分編碼處理的是每一個的像素點中每條顏色通道的值,R(紅)、G(綠)、B(藍)、A(透明)四個顏色通道的值分別進行處理。

壓縮(Compression)

壓縮階段會將預處理階段得到的結果進行Deflate壓縮,它由 Huffman 編碼 和 LZ77壓縮構成。

如前面所說,Deflate壓縮會標記圖片所有的重復數據,并記錄數據特征和結構,會得到一個壓縮比的png圖片 編碼數據。

Deflate是一種壓縮數據流的算法. 任何需要流式壓縮的地方都可以用。

還有就是我們前面說過,一個png圖片,是由很多的數據塊構成的,但是數據塊里面的一些信息其實是沒有用的,比如用Photoshop保存了一張png圖片,圖片里就會有一個區塊記錄“這張圖片是由photshop創建的”,很多類似這些信息都是無用的,如果用photoshop的“導出web格式”就能去掉這些無用信息。導出web格式前后對比效果如下圖所示:

 

可以看到,導出web格式,去除了很多無用信息后,圖片明顯小了很多。

結語

以上就是我對png的理解了,寫的不好,就像一個支離破碎的中老年,雜亂無章。

想起那年跟初戀分手的原因 是因為怕影響到學習。。??墒欠珠_后成績也還是很爛,不僅錯過了女神,而且到現在也依然一事無成。

如今中年已至,身上背負著巨大的房貸,家里還有嗷嗷待哺的孩子,看著身旁呼嚕聲轟天熟睡中的妻子,突然也就想開了。

就像魯迅說的:

“愛情就像在海灘上撿貝殼,要撿就撿自己最喜歡的, 最重要的是撿到了自己喜歡的 就永遠不要再去海邊了。”

……

凌晨四點寫完文章 不知不覺睡著了

夢回到十年前的那個夏天 我們都笑的很甜

看著你哭泣的臉 微笑著對我說再見

再見

 

責任編輯:武曉燕 來源: 前端屌絲
相關推薦

2019-07-22 09:10:23

PhotshopPNGPNG類型

2020-11-11 09:22:21

秒殺系統復盤

2017-09-20 07:13:28

蘋果iOS

2019-08-05 10:15:33

系統緩存架構

2020-02-11 18:56:23

Windows 12微軟圖標

2021-08-09 08:24:08

時間工作生活

2018-10-10 14:47:39

2012-08-23 11:18:15

2021-05-25 06:53:06

iOS 15 App 蘋果

2018-03-08 10:35:07

2013-06-08 17:49:21

金士頓內存

2017-09-11 08:39:30

HDR10標配杜比

2021-01-31 12:47:59

IntelliJ ID版本

2020-10-16 19:07:33

Windows 10微軟回應

2010-09-02 09:00:15

蘋果iOS設備銷量累計

2018-06-04 09:47:27

加班焦慮互聯網

2025-03-27 10:12:49

2025-03-02 11:19:52

2018-12-04 08:53:45

5GLTE網絡

2010-09-02 08:48:58

蘋果新款播放列表功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区在线视频 | www.一级毛片 | 夜夜爽99久久国产综合精品女不卡 | 欧美男人天堂 | 91精品国产一区二区三区香蕉 | 亚洲乱码一区二区三区在线观看 | 亚洲欧美日韩国产 | 一级免费视频 | 亚洲福利网站 | 亚洲国产精品99久久久久久久久 | 精品无码久久久久久国产 | 国产91丝袜在线播放 | 久久久久香蕉视频 | 日韩欧美高清 | 在线免费视频一区 | 亚洲免费网 | 狠狠狠干 | 色吧色综合 | 91私密视频 | 欧美视频偷拍 | 第一区在线观看免费国语入口 | 97超碰人人草 | 国产高清一区二区三区 | 影音先锋欧美资源 | 午夜电影一区二区 | 青娱乐自拍 | 成人片网址 | 综合一区二区三区 | 在线成人 | 亚洲视频免费在线播放 | av一区二区三区四区 | 亚洲一区二区中文字幕 | 亚洲不卡在线观看 | 色综合区| 人人做人人澡人人爽欧美 | 亚洲午夜精品 | 日本小电影网站 | 中文字幕国产视频 | 偷拍自拍网 | 精品美女久久久 | 久久99精品久久久久久国产越南 |