video
Hello,我一直在试图在我的网站上以透明的背景渲染此视频。经过一番研究,我设法偶然发现了这一雷斯,这让我使用画布获得了理想的效果。
我当前的代码
const canvas = this.$refs.canvas.getContext("2d", { willReadFrequently: true })
const render = this.$refs.render.getContext("2d", { willReadFrequently: true })
const video = this.$refs.video
video.play()
function maskVideo() {
canvas.drawImage(video, 0, 0, 3840, 1280)
const frame = canvas.getImageData(0, 0, 1920, 1280)
const frameData = frame.data
for (var i = 0; i < frameData.length; i += 4) {
const [r, g, b] = [frameData[i], frameData[i + 1], frameData[i + 2]]
frameData[i + 3] = (r + g + b)
}
render.putImageData(frame, 0, 0)
window.requestAnimationFrame(maskVideo)
}
window.requestAnimationFrame(maskVideo)
优化图像处理
使用
offscreencanvas