溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

使用CSS3制作黑白照片效果的方法

發(fā)布時(shí)間:2021-08-10 21:58:47 來(lái)源:億速云 閱讀:198 作者:chen 欄目:web開(kāi)發(fā)

本篇內(nèi)容主要講解“使用CSS3制作黑白照片效果的方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“使用CSS3制作黑白照片效果的方法”吧!

CSS3 中的濾鏡(filter)功能讓我們輕松方便簡(jiǎn)單的處理圖片,而不需要使用 PhotoShop 或者使用很多 JavaScript、PHP 代碼。這個(gè)屬性已經(jīng)得到比較新的 Firefox、Safari、Chrome 瀏覽器支持,而且我們可以通過(guò)綜合的可替代的技術(shù)來(lái)模擬實(shí)現(xiàn)這個(gè)效果——甚至是 IE 瀏覽器。

本文中,我們將使用標(biāo)準(zhǔn)測(cè)試圖片 Lena Söderberg (譯者注:Lena 這張美女照片,被作為圖片壓縮的標(biāo)準(zhǔn)測(cè)試用圖片)作為演示,使用 CSS 將其轉(zhuǎn)換成黑白圖片。在下面我將講解如何使用 CSS 的這個(gè)功能實(shí)現(xiàn)調(diào)整色調(diào)、模糊、亮度、對(duì)比度和一些其他的效果。效果圖:
使用CSS3制作黑白照片效果的方法

CSS3 的灰階濾鏡

使用 CSS3 來(lái)稀釋一個(gè)圖片的顏色,再簡(jiǎn)單不過(guò)了。我們可以把這個(gè) CSS 語(yǔ)句寫(xiě)成一個(gè)類(lèi),這樣遇到想要效果的圖片,直接加上個(gè)類(lèi)就可以了。

CSS Code復(fù)制內(nèi)容到剪貼板

  1. img.desaturate { filter: grayscale(100%); }  

當(dāng)然,當(dāng)前的瀏覽器在使用 CSS3 的時(shí)候,要加上他們自己的瀏覽器功能實(shí)驗(yàn)性前綴,所以,我們首先要做的,就是寫(xiě)上瀏覽器的前綴:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. img.desaturate { filter: grayscale(100%);   

  2. -webkit-filter: grayscale(100%);   

  3. -moz-filter: grayscale(100%);   

  4. -ms-filter: grayscale(100%);   

  5. -o-filter: grayscale(100%);   

  6. }  

想要用在某個(gè)圖片上很簡(jiǎn)單,加上一個(gè)類(lèi):

CSS Code復(fù)制內(nèi)容到剪貼板

  1. <img src=lena-s&ouml;derberg.png alt="Lena S&ouml;derberg" style=width:512px;height:512px class=desaturate>  

這就可以了。 ## 增加一個(gè) SVG 的濾鏡效果 這個(gè)功能目前只在 Chrome 18+ 有效,其他瀏覽器馬上就會(huì)增加支持。為了在 Firefox 4+ 中得到相同的效果,我們可以需要使用 SVG 濾鏡。我把新建了一個(gè)單獨(dú)的文件 的 saturate.svg ,代碼如下:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. <svg version="1.1" xmlns="http://www.w3.org/2000/svg">   

  2. <filter id="greyscale">   

  3. <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0  

  4. 0.3333 0.3333 0.3333 0 0  

  5. 0.3333 0.3333 0.3333 0 0  

  6. 0  0  0  1 0"/>   

  7. </filter>   

  8. </svg>  

不要被這段 SVG 代碼嚇住了&mdash;&mdash;雖然上面的矩陣數(shù)列有點(diǎn)復(fù)雜。這段代碼我推薦你直接復(fù)制粘貼成一個(gè)通用的“小文件”。我會(huì)再寫(xiě)一篇文章詳細(xì)介紹一下上面矩陣變化,在這里不再贅述。 加上上面的 SVG 文件引用,我們要插入 HTML 頁(yè)面的 CSS 代碼如下:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. img.desaturate{   

  2. filter: grayscale(100%);   

  3. -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%);   

  4. -ms-filter: grayscale(100%); -o-filter: grayscale(100%);   

  5. filter: url(desaturate.svg#greyscale);   

  6. }  

為 IE 做兼容:

到現(xiàn)在我們的代碼可以兼容未來(lái)的瀏覽器,和最新版的 Chrome 、 Firefox 4+。為了讓 IE 6-9 加入兼容列表,我們需要使用微軟的笨拙但是有效的 filter 濾鏡:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. img.desaturate{   

  2. filter: grayscale(100%);   

  3. -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%);   

  4. -ms-filter: grayscale(100%); -o-filter: grayscale(100%);   

  5. filter: url(desaturate.svg#greyscale);   

  6. filter: gray;   

  7. }  

如果你還想做老版本的 Webkit 內(nèi)核瀏覽器的兼容:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. img.desaturate{   

  2. filter: grayscale(100%);   

  3. -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%);   

  4. -ms-filter: grayscale(100%); -o-filter: grayscale(100%);   

  5. filter: url(desaturate.svg#greyscale);   

  6. filter: gray;   

  7. -webkit-filter: grayscale(1);   

  8. }  


如果你想要在所有的瀏覽器中實(shí)現(xiàn)這個(gè)視覺(jué)效果(假設(shè)你的訪問(wèn)者都支持 JavaScript)你可以使用 jQuery 或者 Greyscale.js 來(lái)修改你的圖片,使其去色。

上面咱們寫(xiě)的 CSS 代碼可以讓我們不需要使用 PhotoShop 就可以把圖片變成黑白的。使用 CSS 來(lái)實(shí)現(xiàn)這個(gè)功能,可以非常容易修改:例如,你可以看到當(dāng)我們把去色程度參數(shù)從 100% 變成 50% 的時(shí)候圖片會(huì)是原色和黑白融合在一起的效果。

其他效果:

此外,黑白照片上還可以添加其他的一些filter的效果有:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. -webkit-filter:blur(5px);  //模糊,此處為5像素   

  2.   

  3. -webkit-filter:sepia(0.5);  //疊加褐色,取值范圍0-1,此處表示50%的褐色   

  4.   

  5. -webkit-filter:brightness(0.5);  //亮度,取值范圍0-1,5倍亮度(數(shù)字為0時(shí)為正常樣式,為1時(shí)表示的是100%亮度,無(wú)法看到圖片)   

  6.   

  7. -webkit-filter:hue-rotate(30deg); //色相(按照色相環(huán)進(jìn)行旋轉(zhuǎn),順時(shí)針?lè)较?,紅-橙-黃-黃綠-綠-藍(lán)綠-藍(lán)-藍(lán)紫-紫-紫紅-紅)此處為疊加黃色濾鏡   

  8.   

  9. -webkit-filter:invert(1);  //反色,取值范圍0-1,0為原圖,1為徹底反色之后,0.5為灰色   

  10.   

  11. -webkit-filter:saturate(4);  //飽和度,取值范圍0~*,0為無(wú)飽和度,1為原圖,值越高飽和度越大   

  12.   

  13. -webkit-filter:contrast(2);  //對(duì)比度,取值范圍0~*,0為無(wú)對(duì)比度(灰色),1為原圖,值越高對(duì)比度越大   

  14.   

  15. -webkit-filter:opacity(0.8);  //透明度,取值范圍0~1,0為全透明,1為原圖   

  16.   

  17. -webkit-filter:drop-shadow(17px 17px 20px black); //陰影  

到此,相信大家對(duì)“使用CSS3制作黑白照片效果的方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI