日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > HTML > 正文

Canvas系列之濾鏡效果

2024-08-26 00:21:19
字體:
供稿:網(wǎng)友

Canvas 真的是一個(gè)神奇的東西,不僅能夠繪制各種圖形、文本和位圖,還能夠?qū)ξ粓D進(jìn)行復(fù)雜的像素運(yùn)算和處理。因此像濾鏡這些東西,其實(shí) Canvas 也可以來實(shí)現(xiàn)。接下來,是見證奇跡的時(shí)刻。

首先,我們需要有一個(gè) Canvas 容器,例如:

<canvas id="myCanvas" width="800" height="800"></canvas>

接下來,我們需要將使用 Canvas 來繪制一張圖片:

 

 

var myCanvas = document.getElementById("myCanvas");var ctx = myCanvas.getContext("2d");var img = new Image();img.src = "./images/1526010092000.jpg";	// 自備圖片鏈接img.onload = (e) => {	ctx.drawImage(img, 0, 0, 800, 800);	// 第一個(gè)800表示繪制圖片的寬,第二個(gè)800表示繪制圖片的高}

Canvas,濾鏡

Canvas首次繪制的效果

再接下來就是對圖片的像素進(jìn)行一些操作。而要實(shí)現(xiàn)這樣的操作,首先需要從 Canvas 獲取到圖片的像素信息,而獲取這些信息可以通過 getImageData() 來實(shí)現(xiàn)。

// ... 省略前面代碼img.onload = (e) => {	// ... 省略前面代碼    img = ctx.getImageData(0, 0, 800, 800);	// 獲得包含每個(gè)像素點(diǎn)顏色的字節(jié)數(shù)據(jù)}

由于圖片的大小為 800 * 800,因?yàn)橐獙ο袼攸c(diǎn)進(jìn)行遍歷,以獲得每一個(gè)像素點(diǎn)的紅、綠、藍(lán)色值。因此:

// ... 省略前面代碼img.onload = (e) => {	// ... 省略前面代碼    var pixelLen = 800 * 800;   // 獲得像素個(gè)數(shù)    for(var i = 0; i < pixelLen * 4; i += 4) {        var redC = img.data[i], // 第一個(gè)字節(jié)單位代表紅色            greenC = img.data[i + 1],    // 第二個(gè)字節(jié)單位代表綠色            blueC = img.data[i + 2],   // 第三個(gè)字節(jié)單位代表藍(lán)色            alpha = img.data[i + 3];   // 第四個(gè)字節(jié)單位代表透明度    }}

通過上面循環(huán),我們獲取到了包含在圖片數(shù)據(jù)中的每個(gè)像素點(diǎn)的具體色值;需要注意的一點(diǎn)是,每一個(gè)像素點(diǎn)的數(shù)據(jù)不是一位,而是相鄰的四位,分別代表了該點(diǎn)的紅、綠、藍(lán)和透明值。因此,實(shí)際上位圖字節(jié)數(shù)據(jù)的數(shù)組長度等于像素點(diǎn)個(gè)數(shù)乘以 4,在 for 循環(huán)中我們也針對這一特性進(jìn)行了相應(yīng)處理。

通過將每一點(diǎn)的紅、綠、藍(lán)值進(jìn)行平均,然后再將生成的平均值相同地賦予該像素點(diǎn)的紅、綠、藍(lán)值,就能形成灰度效果,最后通過 putImageData() 方法來重新繪制圖片即可,代碼如下:

// ... 省略前面代碼img.onload = (e) => {	// ... 省略前面代碼    for(var i = 0; i < pixelLen * 4; i += 4) {   		// ... 省略前面代碼        var grey = parseInt((redC + greenC + blueC) / 3);  // 平均后獲取灰度值        img.data[i] = grey; // 改變紅色值        img.data[i + 1] = grey; // 改變綠色值        img.data[i + 2] = grey; // 改變藍(lán)色值    }    ctx.putImageData(img, 0, 0, 800, 800);  // 重新繪制圖片} 

此時(shí),則會(huì)形成灰度效果,如下圖

 

 
Canvas,濾鏡

 

Canvas第二次繪制圖片-灰度效果

透明度的控制只需要修改第四個(gè)字節(jié)單位對應(yīng)的數(shù)值即可,該數(shù)值的范圍為0~256,0代表完全透明,256代表完成不透明。例如:

 

 

// ... 省略前面代碼img.onload = (e) => {	// ... 省略前面代碼    for(var i = 0; i < pixelLen * 4; i += 4) {   		// ... 省略前面代碼        img.data[i + 3] = 128;	// 透明度50%    }    // ... 省略前面代碼} 

Canvas,濾鏡

Canvas第三次繪制效果-增加透明度

由此,通過控制圖片中每個(gè)像素4個(gè)數(shù)據(jù)的值,即可達(dá)到濾鏡的效果,是不是 so easy!

參考文獻(xiàn):

HTML5 基礎(chǔ)知識、核心技術(shù)與前沿案例》 劉歡 編著

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到HTML教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
激情婷婷亚洲| 91精品国产调教在线观看| 99精品在线播放| 精品久久久久久无| 欧美日韩视频不卡| 精品久久久久久综合日本欧美| 中文字幕精品视频在线| 日韩中文字幕在线观看视频| 欧美一级日韩一级| 欧美日韩国产一中文字不卡| 国产v日产∨综合v精品视频| 不卡在线一区二区| 99精品在线播放| 欧美日韩中文字幕日韩欧美| 亚洲高清中文字幕| 正在播放日韩精品| 国产九九在线| 91麻豆视频网站| 欧美日韩精品综合在线| 久久99精品久久久久婷婷| 欧美一级久久久久久久久大| 91精品在线观看入口| 日韩欧美国产午夜精品| xxxcom在线观看| 在线看的av| 欧美日韩一二| 91精品国产调教在线观看| 亚洲欧美日本国产专区一区| 国产欧美日韩久久| 精品视频999| 在线观看91精品国产入口| 91精品国产91久久久久青草| 免费视频国产一区| 在线视频你懂得一区| 日韩精品免费观看视频| 日韩精品午夜| 日本一级一片免费视频| 日韩精品中文在线观看| 久久夜色精品国产噜噜亚洲av| 欧美日韩91| 久久久另类综合| 99日韩精品| 欧洲精品二区| 国产一级在线免费观看| 日韩三级视频中文字幕| 91精品视频播放| 中文字幕日韩在线视频| 一区二区三区免费看视频| 国产午夜精品视频免费不卡69堂 | 日韩久久精品视频| 国产 日韩 欧美 综合| 欧美日韩免费不卡视频一区二区三区| 日韩欧美中文字幕精品| 日韩中文字幕综合| 久久久久久自在自线| 国产123在线| 欧美精选午夜久久久乱码6080| www.中文字幕在线| 视频一区中文字幕国产| 中文字幕综合在线| 国产1区在线| 日韩欧美在线网址| 91极品视频在线观看| 日本国产一区| 日韩欧美一级二级三级久久久| 91精品久久久久久久91蜜桃| 午夜av一区二区| 欧美亚洲天堂| 久草中文在线观看| 樱花草www在线观看| 日韩中文字幕视频在线观看| 国产伦精品免费视频| 日韩精品手机在线| 久久99久久99精品中文字幕| 久久久久久99精品| 久久精品免费在线观看| 日韩欧美中文字幕在线播放| av一区二区高清| 在线视频亚洲| 国产一区 二区 三区一级| 国产午夜精品全部视频播放| 国产黄色片中文字幕| 国产午夜精品久久| 最近中文字幕在线中文视频| 欧美一级在线免费| 一级日本免费的| 精品久久电影| 91精品国产入口| 亚洲综合日韩| 日韩亚洲一区在线| av免费在线不卡| 国产在线日韩欧美| 国产在成人精品线拍偷自揄拍| 在线日韩中文字幕| 欧美日韩在线视频一区| 欧美日韩在线不卡| 日韩不卡中文字幕| 日韩视频1区| 国产不卡的av| 亚洲一区中文字幕在线观看| 国产一级免费在线观看| 日韩精品视频免费看| 中文字幕在线中文字幕二区| 日韩精品视频在线观看网址| 欧美日韩在线播放视频| 日韩中文字幕视频在线观看| 欧美三级日韩在线| 香蕉视频亚洲一级| 欧美三级日韩三级| 精品日韩在线观看| 99精品视频99| 国产欧美日韩精品综合| 欧美日韩性视频| 欧美三级免费观看| 人人做人人澡人人爽欧美| 午夜一区二区三区视频| 日韩欧美三级| 国产在线不卡av| 一区精品在线播放| 在线视频不卡国产V| 日韩在线 中文字幕| 久久久综合精品| 成人一区二区不卡免费| 久久精品国产视频| 欧美日韩精品区| 久久精品女人| 日韩中文字幕视频网| 视频一区二区精品的福利| 久本草在线中文字幕亚洲欧美| 91精品蜜臀在线一区尤物| 亚洲国产午夜精品| 精品福利二区三区| 日韩欧美一级二级三级久久久| 亚洲 国产 欧美 日韩| 亚洲永久免费视频| 日韩一级免费视频| 亚洲小说春色综合另类网蜜桃| 你懂的亚洲视频| 亚洲日本欧美日韩高观看| 日韩精品免费视频一区二区三区| 日韩不卡一二区| 久久夜色精品国产欧美乱极品 | 一本一道综合狠狠老| 国产成人综合av| 中文字幕日韩欧美在线| 国产免费不卡av| 中文字幕精品在线| 欧美日韩精品国产| 亚洲乱码视频| 国产成人精品999在线观看| 欧美日韩中文字幕| 国产 日韩 欧美 综合| 欧美亚洲天堂| 97久久精品| 色综合婷婷久久| 高清不卡一区二区| 中文字幕狠狠干| 伊人www22综合色| 日韩精品丝袜在线| 国产黄色在线观看| 亚洲尤物av| 伊人www22综合色| 欧美另类久久久品| 国产欧美日韩最新| 亚洲高清视频在线| 欧美在线日韩在线| 中文字幕在线视频网| 欧美日韩国产亚洲一区| 国产中文伊人| 在线视频日韩欧美| 亚洲欧洲日韩精品在线| www日韩欧美| 国产不卡一区二区在线观看| 欧美日韩精品免费在线观看视频| 亚洲免费观看在线观看| 国产午夜精品久久| 精品不卡一区二区| 91色在线看| 亚洲一二三不卡| 欧美日韩国产一区| 精品九九久久| 精品久久久久久无| 国产福利免费在线观看| 国产自产视频| 亚洲热线99精品视频| 1区2区3区在线视频| √新版天堂资源在线资源| 91久久久精品国产| 欧美日韩在线不卡| 久久精品女人| 欧美日韩精品在线播放| 国产日韩中文字幕在线| 精品人妻一区二区三区视频| 精品福利一区二区三区| 日韩中文字幕国产| 在线精品视频免费播放| 欧美日韩中文另类| 在线一区av| 久久99精品久久久久婷婷| 国产成人精品三级| 日韩精品在线免费播放| 欧美在线视频二区| 欧美日韩三级在线| 国产无遮挡在线视频免费观看| 免费高清在线一区| 国产一区高清视频| 国产九九在线| 国产在线观看91| av不卡免费看| 国产一级免费看| 久久久精品网| 91九色在线播放| 一级国产黄色片| 刘玥91精选国产在线观看| av免费在线观看网址| 国产成人一区二区精品非洲| 亚洲欧美小说国产图片| 色综合天天综合网天天狠天天| 日韩中文在线视频| 一区二区91| 亚洲高清精品视频| 日本a口亚洲| 久久视频一区| 国产95在线|亚洲| 国产欧美久久久精品免费| 1区2区在线| 欧美日韩亚州综合| 日韩亚洲欧美中文在线| 国产网站av| 国产 欧美 日韩 在线| 亚洲综合在线视频| 日韩在线高清视频| 国产成人精品免费久久久久| 一区二区在线观看不卡| 日韩av一区二| 亚洲午夜av| 91精品国产日韩91久久久久久| 国产精品视频福利一区二区| 午夜国产视频 | 欧美日韩国产第一页| 久久福利视频一区二区| 色猫猫国产区一区二在线视频| av免费观看网站| 国产日韩精品电影| 欧美中文字幕精品| www.久久草| 91色在线看| 日韩欧美中文| 中文字幕亚洲字幕| 中文字幕亚洲一区在线观看| 91精品xxx在线观看| 欧美中文字幕精品| 欧美日韩成人综合| 三级精品视频| 黄色欧美日韩| 日韩精品 欧美| 国产在线视频不卡| 欧美日韩一二| 午夜少妇久久久久久久久| 91精品啪在线观看国产60岁 | 亚洲欧美久久久| 91精品国产自产在线| 午夜国产在线视频| 黄色一区二区在线| 日韩亚洲欧美中文高清在线| 国产午夜在线观看| 91蜜桃婷婷狠狠久久综合9色| 欧美三级视频在线| 青青久在线视频免费观看| 亚洲精品中文字幕乱码三区| 国产三级视频网站| 亚洲成av人片一区二区密柚| 亚洲欧洲在线观看av| 91精品国产色综合久久不卡蜜臀 | 欧美日韩在线观看首页| 精品视频999| 92久久精品| 尤物av一区二区| 免费高清视频日韩| 日韩视频精品在线| 欧美日韩在线视频免费观看 | 亚洲第一视频在线观看| 亚洲乱码一区av黑人高潮| 蜜桃久久av一区| 狠狠色综合色区| 国产wwww| 国产午夜精品视频免费不卡69堂 | 欧美日韩精品高清| 一区二区国产在线| 一区免费在线| 日韩高清在线一区二区| 欧美久久一二三四区| 不卡在线一区二区| 日韩精品首页| 中文字幕国产欧美| 亚洲综合日韩| 日韩免费电影网站| 中文字幕亚洲区| 99精品999| 国产视频一二区| av中文网站| 国产一卡2卡3卡四卡网站| 国产黄色在线观看| 欧美日韩在线播放三区四区| 亚洲成在线观看| 欧美中文字幕视频| 亚洲成在线观看| 日韩免费视频一区二区视频在线观看| 国产www.大片在线| 欧美日韩精品免费| 亚洲第一视频在线观看| 国产无遮挡在线视频免费观看| 日韩视频精品在线| 内射国产内射夫妻免费频道| 在线视频你懂得一区| 中文字幕欧美国内| 精品国产免费视频| 视频一区二区精品的福利| 精品午夜av| 婷婷中文字幕在线观看| aaa免费看大片| 欧美99久久| 亚洲黄色片在线观看| 一区二区视频在线| 欧美 日韩 中文字幕| 日韩欧美亚洲国产| 日韩欧美综合| 亚洲天堂国产视频| 欧美另类久久久品| 久久久精品网| 伊人中文字幕在线观看| 91午夜在线| 91精品国产99| 久久精品国产2020观看福利| 欧美日韩中文字幕在线视频| 国产在线精品日韩| 国产小视频在线观看免费| 国产视频1区2区| 一级日本免费的| 尤物在线精品| 一级网站免费观看| 91精品免费在线观看| www.狠狠干| 国产午夜精品视频免费不卡69堂| 久久久99久久| 精品999视频| 7799精品视频天天看| 日韩精品资源二区在线| 欧美日韩国产高清| 国产激情久久久| 成片免费观看| 日韩欧美中文在线视频| 日韩精品视频在线观看视频| 国产网站av| 天天摸日日摸狠狠添| 久久夜色精品国产欧美乱极品| 欧美日韩亚洲国产综合| 日韩精品视频在线观看视频| 国产伦精品免费视频| 91精品国产免费| 91精品国产综合久久久蜜臀粉嫩| 91精品国产乱码久久蜜臀| 欧美一级二级三级区| 中文字幕亚洲一区在线观看| 91精品免费观看| 久久riav| 国产黄色在线网站| 国产99亚洲| 久久精品视频免费看| 日韩免费视频一区| 91精品国产自产| 日韩精品在线第一页| 国产手机精品视频| 成人久久在线| 视频一区二区不卡| 中文字幕欧美在线| 亚洲午夜久久| 首页国产欧美久久| 久久久久蜜桃| 精品日韩99亚洲| 成年人黄国产| 拍真实国产伦偷精品| 日韩欧美在线视频| 尤物在线精品| 欧美日韩中国免费专区在线看| 久久久久久久久综合| 日韩中文字幕亚洲| 国产高清在线视频| 日韩精品福利一区二区三区| 欧美中日韩在线| 999精品网| 91久久精品在线| 最近中文字幕第一页| 日韩免费精品视频| 日韩不卡av| 一区二区在线观看不卡| 欧美久久在线观看| 欧美日韩激情在线一区二区三区 | 久久99精品国产| 欧美日韩国产在线看|