我有一个绿色背景的视频。我想删除这个绿色部分(色度键),使其透明,然后在网站背景上显示视频。
我只能找到使用图像的复杂代码。
起始信息:video element
可以是 html5 画布的图像源。这意味着可以将一帧视频绘制到画布上(并由其操作)。
概述:该context.getImageData
方法将在数组中获取画布的 RGBA 像素数据。修改数组的像素数据后,context.putImageData
将修改后的像素放回画布上。
计划使用 CSS 将 html5 画布放置在站点背景上。使用该画布在网站上绘制视频帧(将绿色视频像素设为透明,以便网站背景显示出来)。
(您需要一些组装和学习):
放置一个覆盖网站背景的 html5 画布元素。
在时间循环内 ( requestAnimationFrame
):
context.clearRect
,context.drawImage(video,0,0)
,context.getImageData
,if(green>220 && red<20 && blue<20)
:,(alpha=0)
,context.putImageData
,帮助您学习的参考资料
Stackoverflow 之前关于 #2 的帖子:将视频标签放在画布标签上
Stackoverflow 之前关于 #3-6 的帖子:循环遍历图像中的像素