效果图:
代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>canvas 视频颜色灰度化,反色</title> <style type="text/css"> *{ margin: 0; padding: 0; } #wrap{ border: 1px solid #ccc; } #sourcevid{ width: 400px; height: 400px; border: 1px solid #ccc; } </style></head><body> <video id="sourcevid" autoplay="true" loop="true" width="400" height="400"> <source src="vodeo/daxiongtui(1).mp4" type="video/mp4"/> <source src="vodeo/daxiongtui.ogv" type="video/ogg"/> </video> <canvas id="wrap" width="400" height="400">你的浏览器不支持canvas!</canvas> <script type="text/javascript"> //获取id var canvas = document.getElementById("wrap"); var ctx = canvas.getContext("2d"); var sourcevid = document.getElementById("sourcevid"); sourcevid.oncanplaythrough = function() { function play() { //在画布里绘制出sourcevid ctx.drawImage(sourcevid,0,0); //反色 //getImageData() 复制画布上指定矩形的像素数据 //getImageData() 方法返回 ImageData 对象,该对象拷贝了画布指定矩形的像素数据。 //对于 ImageData 对象中的每个像素,都存在着四方面的信息,即 RGBA 值: //R - 红色 (0-255) //G - 绿色 (0-255) //B - 蓝色 (0-255) //A - alpha 通道 (0-255; 0 是透明的,255 是完全可见的) //color/alpha 以数组形式存在,并存储于 ImageData 对象的 data 属性中。 var imageData = ctx.getImageData(0,0,200,400); var t = imageData.data; for(var i = 0 ; i < t.length; i += 4) { t[i] = 255 - t[i]; t[i+1] = 255 - t[i+1]; t[i+2] = 255 - t[i+2]; // t[i+3] = 255; } // putImageData() 将图像数据放回画布 ctx.putImageData(imageData,200,0); //灰度 var imageData = ctx.getImageData(0,0,200,400); var d = imageData.data;//保存的是红绿蓝透明度的通道的值 //console.log(imageData); for(var i = 0; i < d.length; i += 4) { //var verage = (d[i] + d[i+1] + d[i+2])/3; var verage1 = 0.299 * d[i] + 0.587 * d[i+1] + 0.114 * d[i+2] d[i] = d[i+1] = d[i+2] = verage1; } ctx.putImageData(imageData,0,0); window.requestAnimationFrame(play); } play(); } </script></body></html>
注:本例需在服务器上运行的才能看到效果、视频文件可换成本地视频(HBuilder有集成服务器或者使用wampmanager亦可)

HTML的未來將朝著更加語義化、功能化和模塊化的方向發展。 1)語義化將使標籤更明確地描述內容,提升SEO和無障礙訪問。 2)功能化將引入新元素和屬性,滿足用戶需求。 3)模塊化將支持組件化開發,提高代碼復用性。

htmlattributesarecrucialinwebdevelopment forcontrollingBehavior,外觀和功能

alt屬性是HTML中標籤的重要部分,用於提供圖片的替代文本。 1.當圖片無法加載時,alt屬性中的文本會顯示,提升用戶體驗。 2.屏幕閱讀器使用alt屬性幫助視障用戶理解圖片內容。 3.搜索引擎索引alt屬性中的文本,提高網頁的SEO排名。

HTML、CSS和JavaScript在網頁開發中的作用分別是:1.HTML用於構建網頁結構;2.CSS用於美化網頁外觀;3.JavaScript用於實現動態交互。通過標籤、樣式和腳本,這三者共同構築了現代網頁的核心功能。

設置標籤的lang屬性是優化網頁可訪問性和SEO的關鍵步驟。 1)在標籤中設置lang屬性,如。 2)在多語言內容中,為不同語言部分設置lang屬性,如。 3)使用符合ISO639-1標準的語言代碼,如"en"、"fr"、"zh"等。正確設置lang屬性可以提高網頁的可訪問性和搜索引擎排名。

htmlattributeseresene forenhancingwebelements'functionalityandAppearance.TheyAdDinformationTodeFineBehavior,外觀和互動,使網站互動,響應式,visalalyAppealing.AttributesLikutesLikeSlikEslikesrc,href,href,href,類,類型,類型,和dissabledtransfransformformformformformformformformformformformformformformforment

toCreateAlistInHtml,useforforunordedlistsandfororderedlists:1)forunorderedlists,wrapitemsinanduseforeachItem,RenderingeringAsabulletedList.2)fororderedlists,useandfornumberedlists,useandfornumberedlists,casundfornumberedlists,casundfornthetthetthetthetthetthetthetttributefordforderfordforderforderentnumberingsnumberingsnumberingStys。

HTML用於構建結構清晰的網站。 1)使用標籤如、、定義網站結構。 2)示例展示了博客和電商網站的結構。 3)避免常見錯誤如標籤嵌套不正確。 4)優化性能通過減少HTTP請求和使用語義化標籤。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境