校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Canvas系列之濾鏡效果

Canvas系列之濾鏡效果

熱門標(biāo)簽:欣鼎電銷機器人 效果 智能電銷機器人被禁用了么 ok電銷機器人 電話機器人技術(shù) 地圖標(biāo)注軟件打印出來 黃石ai電銷機器人呼叫中心 如何查看地圖標(biāo)注 惡搞電話機器人 高德地圖標(biāo)注商戶怎么標(biāo)

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

首先,我們需要有一個 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);	// 第一個800表示繪制圖片的寬,第二個800表示繪制圖片的高
}

Canvas首次繪制的效果

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

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

由于圖片的大小為 800 * 800,因為要對像素點進(jìn)行遍歷,以獲得每一個像素點的紅、綠、藍(lán)色值。因此:

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

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

通過將每一點的紅、綠、藍(lán)值進(jì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);  // 重新繪制圖片
} 

此時,則會形成灰度效果,如下圖

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

透明度的控制只需要修改第四個字節(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第三次繪制效果-增加透明度

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

參考文獻(xiàn):

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

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

標(biāo)簽:赤峰 聊城 金昌 綏化 盤錦 中山 萍鄉(xiāng) 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Canvas系列之濾鏡效果》,本文關(guān)鍵詞  Canvas,系列,之,濾鏡,效果,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Canvas系列之濾鏡效果》相關(guān)的同類信息!
  • 本頁收集關(guān)于Canvas系列之濾鏡效果的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产成人精品一区二区三区四区| 欧美色精品天天在线观看视频| 欧美性生活影院| 欧美性极品少妇| 91久久奴性调教| 欧美伊人精品成人久久综合97 | 欧美日韩和欧美的一区二区| 国产福利一区二区| 国产成人aaa| 成人国产精品免费网站| 成人爽a毛片一区二区免费| www.亚洲精品| av亚洲精华国产精华精华| 91久久精品一区二区二区| 在线日韩av片| 国产三级一区二区| 亚洲国产美国国产综合一区二区| 怡红院av一区二区三区| 欧美电影在线免费观看| 一区av在线播放| 日韩欧美国产1| 亚洲男人电影天堂| 亚洲欧美日韩精品久久久久| 国产视频不卡一区| 91精品国产综合久久福利软件| 欧美一三区三区四区免费在线看| 欧美成人aa大片| 国产精品综合网| 奇米888四色在线精品| 日韩一区二区三区三四区视频在线观看| 污片在线观看一区二区| 久久一区二区三区国产精品| 91精品在线一区二区| 久久精品免费看| 中文字幕亚洲视频| 欧美一二三区在线观看| 99久久精品国产导航| 午夜av一区二区三区| 国产清纯在线一区二区www| 欧美这里有精品| 国产精品123区| 日韩高清在线观看| 自拍偷拍亚洲欧美日韩| 精品国产一区二区三区av性色| 色8久久人人97超碰香蕉987| 国产一区二区成人久久免费影院| 亚洲综合久久久| 国产亚洲一区二区在线观看| 欧美老人xxxx18| 色噜噜久久综合| 成人免费高清视频| 极品瑜伽女神91| 日韩精品免费视频人成| 一区二区三区四区激情| 国产欧美精品区一区二区三区 | 欧美午夜影院一区| 成人黄色在线视频| 国产在线观看一区二区| 日韩精品午夜视频| 亚洲电影你懂得| 亚洲精品ww久久久久久p站| 国产精品区一区二区三区| 精品欧美一区二区三区精品久久| 欧美亚洲动漫精品| 一本到高清视频免费精品| 岛国一区二区在线观看| 国产一区二区日韩精品| 久久99精品一区二区三区三区| 日韩制服丝袜先锋影音| 亚洲午夜精品17c| 亚洲一区二区美女| 亚洲精品国产无套在线观| 亚洲人成网站影音先锋播放| 国产精品欧美久久久久一区二区| 久久先锋影音av| 欧美变态tickling挠脚心| 日韩欧美国产综合在线一区二区三区| 欧美高清视频一二三区| 91麻豆精品国产自产在线| 欧美日韩一区二区三区高清| 色视频欧美一区二区三区| 色呦呦日韩精品| 在线一区二区三区| 欧美亚洲一区二区三区四区| 欧美日韩午夜精品| 欧美日韩二区三区| 欧美一区二区在线视频| 日韩一级在线观看| 久久久亚洲精品一区二区三区| 久久人人超碰精品| 国产精品狼人久久影院观看方式| 日韩一区在线播放| 亚洲一区二区三区四区不卡| 狠狠色狠狠色综合| 国产成人精品午夜视频免费| www.在线欧美| 欧美综合欧美视频| 欧美一区二区三区色| 精品国产自在久精品国产| 久久久不卡网国产精品一区| 中文字幕一区日韩精品欧美| 亚洲黄色av一区| 日韩av中文在线观看| 黄一区二区三区| 久久精品999| 国产精品一区二区91| 成人黄色一级视频| 91免费在线播放| 99精品国产视频| 欧美精品一卡两卡| 欧美蜜桃一区二区三区| 欧美一级在线观看| 国产欧美精品一区二区色综合| 国产欧美日韩亚州综合| 亚洲一区欧美一区| 久久91精品国产91久久小草| 国产一区在线看| 91丨porny丨国产| 777a∨成人精品桃花网| 2021久久国产精品不只是精品| 亚洲午夜激情av| 国产成人av在线影院| 日韩午夜在线播放| 高清在线成人网| 亚洲永久精品国产| 色哟哟欧美精品| 免费看精品久久片| 色婷婷综合五月| 欧美一区二区三区四区久久| 色噜噜夜夜夜综合网| 欧美成人一区二区三区在线观看| 欧美国产精品v| 国产精品123| 免费一级片91| 香蕉av福利精品导航| 91精品国产入口在线| 精品国产乱码久久久久久闺蜜| 亚洲男女一区二区三区| 国产中文字幕一区| 欧美日韩三级视频| 日韩中文字幕1| 色婷婷亚洲婷婷| 国产亚洲精品aa| 久久激五月天综合精品| 欧美疯狂做受xxxx富婆| 一区二区不卡在线播放 | 欧美精品久久久久久久久老牛影院| 国产拍揄自揄精品视频麻豆| 裸体歌舞表演一区二区| 欧美日韩综合不卡| 18成人在线观看| 大美女一区二区三区| 精品欧美乱码久久久久久1区2区| 午夜视黄欧洲亚洲| 在线观看成人免费视频| 中文字幕一区不卡| 国产成人免费在线观看不卡| 精品国产乱子伦一区| 日本成人在线不卡视频| 日本不卡1234视频| 欧美电影免费提供在线观看| 亚洲国产一区二区三区 | 91浏览器打开| 国产视频一区不卡| 国产精品白丝jk白祙喷水网站| 精品国产亚洲一区二区三区在线观看| 日韩av一区二| 日韩午夜精品电影| 精品中文av资源站在线观看| 日韩欧美一级二级三级| 蜜桃视频一区二区三区在线观看| 7777精品久久久大香线蕉| 天天色天天操综合| 欧美一区二区三区的| 美日韩黄色大片| 精品免费日韩av| 国产成人一区二区精品非洲| 国产欧美va欧美不卡在线| 成人app在线| 亚洲视频一二区| 欧美在线一区二区| 日韩高清在线观看| 欧美mv日韩mv亚洲| 国产精品影视网| 国产精品理论在线观看| 色狠狠综合天天综合综合| 亚洲国产一区视频| 欧美不卡一区二区三区四区| 国产精品一区二区久激情瑜伽| 国产精品免费网站在线观看| 99精品国产视频| 婷婷开心久久网| 精品成人佐山爱一区二区| 国产成人亚洲综合a∨猫咪| 国产精品乱码人人做人人爱 | 久久品道一品道久久精品| 成人h精品动漫一区二区三区| 亚洲精品视频一区| 欧美一区日本一区韩国一区| 懂色av一区二区三区免费观看|