91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

讓web網頁圖片變灰色將彩色圖像變成灰度的三種方法分別是怎樣的

發布時間:2021-10-08 11:28:16 來源:億速云 閱讀:211 作者:柒染 欄目:web開發

讓web網頁圖片變灰色將彩色圖像變成灰度的三種方法分別是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

我一直喜歡灰度圖像因為我認為他們看起來更有藝術感。很多圖片編輯如Photoshop很容易把你的彩色圖像變成灰度。甚至有選擇調整顏色深度和色調。不幸的是,這樣的效果想做在網絡上并不容易,因為瀏覽器有差異。

1、CSS Filter

使用CSS過濾器屬性可能是最簡單的方法把圖像變成灰度。以往,IE瀏覽器有一個專有的CSS屬性稱為過濾應用自定義效果包括灰度。

現在,過濾器屬性是CSS3規范的一部分,并支持在一些瀏覽器,Firefox、Chrome和Safari。以前,我們也提到Webkit過濾器,它不僅將圖像變成灰色也可以變成褐色和模糊效果。

添加如下CSS樣式可以將圖像變成灰色

代碼如下:


img {
-webkit-filter: grayscale(1);/* Webkit */
filter:gray;/* IE6-9 */
filter: grayscale(1);/* W3C */
}


支持IE6-9和Webkit瀏覽器(Chrome 18+, Safari 6.0+, and Opera 15+)

(注意:這段代碼在Firefox上無效果。)

2、Javascript

第二種方法是通過使用JavaScript技術上應該支持所有JavaScript的瀏覽器,包括IE6以下

代碼來自Ajax Blender.

代碼如下:


varimgObj = document.getElementById('js-image');
functiongray(imgObj) {
varcanvas = document.createElement('canvas');
varcanvasContext = canvas.getContext('2d');
varimgW = imgObj.width;
varimgH = imgObj.height;
canvas.width = imgW;
canvas.height = imgH;
canvasContext.drawImage(imgObj, 0, 0);
varimgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
for(vary = 0; y < imgPixels.height; y++){
for(varx = 0; x < imgPixels.width; x++){
vari = (y * 4) * imgPixels.width + x * 4;
varavg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
imgPixels.data[i] = avg;
imgPixels.data[i + 1] = avg;
imgPixels.data[i + 2] = avg;
}
}
canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
returncanvas.toDataURL();
}
imgObj.src = gray(imgObj);


3、SVG

第三種方法來自SVG Filter.,你需要創建一個SVG文件,并將以下代碼寫在里面,保存命名為***.svg

代碼如下:


<svgxmlns=" http://www.w3.org/2000/svg">
<filterid="grayscale">
<feColorMatrixtype="matrix"values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
</filter>
</svg>
然后利用過濾器的屬性,我們可以通過SVG文件中的元素的ID連接SVG文件
[code]
img {
filter:url('img/gray.svg#grayscale');
}


你也可以把它放到CSS文件中,例如:

代碼如下:


img {
filter:url('url("data:image/svg+xml;utf8,<svg%20xmlns=' http://www.w3.org/2000/svg'><filter%20id='grayscale'><feColorMatrix%20type='matrix'%20values='0.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200%200%200%201%200'/></filter></svg>#grayscale");')
}


總結

為了能過跨瀏覽器支持灰度的效果,我們可以把上述方法和一起使用下面的代碼片段去實現。這段代碼將支持Firefox 3.5+, Opera 15+, Safari, Chrome, and IE

代碼如下:


img {
-webkit-filter: grayscale(100%);
-webkit-filter: grayscale(1);
filter: grayscale(100%);
filter:url('../img/gray.svg#grayscale');
filter:gray;
}


我們可以利用上面的代碼和JavaScript方法和只提供CSS濾波器作為后備以防JavaScript被禁用。這個想法可以很容易地Modernizr的幫助下實現的。

代碼如下:


.no-js img {
-webkit-filter: grayscale(100%);
-webkit-filter: grayscale(1);
filter: grayscale(100%);
filter:url('../img/gray.svg#grayscale');
filter:gray;
}


OK了,你的瀏覽器上可以看到很炫的效果了!

關于讓web網頁圖片變灰色將彩色圖像變成灰度的三種方法分別是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

封丘县| 同江市| 柞水县| 海伦市| 罗城| 澳门| 河津市| 建水县| 迁安市| 怀仁县| 航空| 凌海市| 宁南县| 云浮市| 安溪县| 霍邱县| 牡丹江市| 和林格尔县| 金乡县| 万年县| 波密县| 乐清市| 丰城市| 新闻| 商城县| 和政县| 丰台区| 两当县| 肥东县| 仙桃市| 卢湾区| 峨眉山市| 靖远县| 黄龙县| 鄂伦春自治旗| 阿瓦提县| SHOW| 新竹县| 临西县| 和林格尔县| 三门峡市|