我尝试在javascript中进行一些视频操作。我读了一些关于它的文章,看起来每个人都使用2个画布来做这个伎俩。首先,他们在第一个画布上绘制视频,他们从中读取图像数据,进行一些像素操作,然后在第二个画布上绘制它。我想知道我真的必须使用2个画布才能做到这一点?是否有任何方法直接从视频中获取图像数据?或者我们有一些性能问题,这是解决方案吗?
答案 0 :(得分:0)
因为您无法从视频中获取像素数据。
Canvas API有一个方法getImageData()
,它返回一个浮点数组,其中包含每个像素的每种颜色(和alpha)的值。不幸的是,视频元素不能这样做:(
您可以使用一个画布来绘制视频帧并对其进行操作。我想人们更喜欢在两个画布上做这件事,这样他们就可以保留原始的像素数据,以防你在加载新画面之前有一个改变操作......或者什么......