国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

網(wǎng)頁是如何變灰的

2020-04-05 22:00 作者:今天修bug了嗎  | 我要投稿

純技術探討。

0.目錄

  1. 光的三原色、灰色和灰階算法

  2. HTML和CSS

  3. 套用全局CSS filter使網(wǎng)頁變灰

1?光的三原色、灰色和灰階算法

1.1 光的三原色

初中物理告訴我們光的三原色是紅綠藍,顏料的三原色是紅黃藍(印刷業(yè)界是品紅/黃/青+黑)。由于顯色原理不同,光的三原色是一個加色模型(等量的紅、綠、藍在混合之后輸出的顏色是白色),而顏料的三原色是一個減色模型。

光和顏料的三原色|http://optica.cocolog-nifty.com/blog/2012/04/post-ab6f.html

顯示器發(fā)光自然靠的是光,因此適用光的三原色模型。一臺色域為sRGB的顯示器,在紅、綠、藍三個維度上分別能發(fā)出0-255級的光。當紅、綠、藍三種光線的強度都為255(最亮)時,顯示器理論上應該顯示純白色。

1.2 灰色

不同程度的灰色|https://www.coursera.org/specializations/graphic-design

用(x,?y,?z)分別描述某一個給定顏色當中的紅、綠、藍色的數(shù)值。(0, 0, 0)代表純黑色,(255, 255, 255)代表純白色,那么(a, a, a)(其中0<a<255)是什么顏色?

對,都是灰色,不同程度的灰色。

那么如果通過某種算法可以將一張彩色的圖像轉(zhuǎn)換為灰階圖像(grayscale image, 僅含有灰色的圖像),這種算法就統(tǒng)稱為灰階算法。

1.3 灰階算法

灰階算法只是一類算法的統(tǒng)稱。它的作用是把圖像上每一個像素【RGB=(x,y,z)】通過一定的處理,映射成為一個灰色像素點【RGB=(a,a,a)】。

完成這種映射的算法千奇百怪。目前比較常用的一種計算灰度取值(即上文中的參數(shù)a)的算法是:

Gray = (Red * 0.2989 + Green * 0.5870 + Blue * 0.1140)

其中0.2989、0.5870和0.1140都是經(jīng)驗參數(shù):俺不知道為什么,但俺尋思這個值能用。

另外一些算法有暴力平均法、去飽和法(轉(zhuǎn)換為HSL模型后設置飽和度0)等等。它們最終的目的都是一樣的:將給定內(nèi)容中全部像素點映射為灰色像素點,實現(xiàn)整體內(nèi)容的灰度處理。

2 HTML和CSS

2.1 HTML

HTML(HyperText Markup Language, 超文本標記語言)是一種標記語言(不是編程語言)。一個HTML文檔(一個網(wǎng)頁)由層層嵌套的標簽組成。純HTML只告訴瀏覽器“我這個網(wǎng)頁上有哪些內(nèi)容”,比如“一只青蛙一張嘴,兩只眼睛四條腿”就描述了青蛙的結(jié)構:眼睛×2,嘴,腿×4.

2.2 CSS

層疊樣式表(Cascading Style Sheet)通常與HTML一起使用(在目前的大部分網(wǎng)站來說算是官配cp了)。它可以為HTML文檔中出現(xiàn)的標簽添加額外的描述,比如顏色、形狀、大小。

HTML和CSS之間的關系|https://zhuanlan.zhihu.com/p/77958196

3 CSS filter

在CSS規(guī)范當中,有一類比較特殊的規(guī)則“濾鏡(filters)”,一般用于處理圖像。跟大部分人認知中的濾鏡功能一樣,濾鏡可以改變圖像的一些屬性,比如灰度、亮度、陰影、顏色反轉(zhuǎn)和模糊。

“灰度”這一函數(shù)的標準語法是:

filter: grayscale(0-1取值或0%-100%)

它可以把一張彩色圖像通過灰度算法映射為一張灰度圖像。

如果在WebStorm或者類似的面向網(wǎng)頁前端的編輯器中使用,編輯器會自動補全幾種針對不同瀏覽器的語法。所以一般通過審查元素看到的內(nèi)容會是下面的樣子:

-webkit-filter: grayscale(100%);

-moz-filter: grayscale(100%);

-ms-filter: grayscale(100%);

-o-filter: grayscale(100%);

filter: grayscale(100%);

類比Photoshop中的圖層,在一個網(wǎng)頁當中,不同的元素也有不同的疊放順序和主次之分。要使這個灰色濾鏡對整個網(wǎng)站上的內(nèi)容都生效,有兩種思路:

  1. 為主div中添加filter: grayscale。

  2. 為html標簽或body標簽添加filter: grayscale。但是如果直接在body標簽中添加的話,position: fixed這條屬性就會失效。所以個人建議盡可能地在html標簽中添加。

4. 參考/擴展閱讀

1.?光と色の三原色 色が見える仕組み(7): 光と色と:http://optica.cocolog-nifty.com/blog/2012/04/post-ab6f.html

2. 6種圖片灰度轉(zhuǎn)換算法:https://github.com/aooy/blog/issues/4

3.?filter - CSS(層疊樣式表) | MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter

網(wǎng)頁是如何變灰的的評論 (共 條)

分享到微博請遵守國家法律
宁波市| 林芝县| 永顺县| 奉化市| 诸城市| 蕉岭县| 凤翔县| 淮阳县| 保靖县| 夹江县| 临沭县| 湛江市| 广安市| 金门县| 东平县| 惠来县| 钦州市| 中山市| 淮滨县| 玉山县| 长兴县| 齐齐哈尔市| 吉木萨尔县| 绥宁县| 肥城市| 铜陵市| 扎鲁特旗| 清新县| 勐海县| 石楼县| 梅州市| 平武县| 阜城县| 东明县| 正镶白旗| 重庆市| 丹江口市| 肇州县| 米脂县| 灵寿县| 依兰县|