Canvas绘图可以创建非常个性化的特效。比如,你可以给视频添加马赛克效果。以下是一个简单的示例: ```javascript function drawMosaic(video, canvas) { const ctx = canvas.getContext('2d'); const scale = 10; // 马赛克大小 for (let y = 0; y < video.height; y += scale) { for (let x = 0; x < video.width; x += scale) { const color = getAverageColor(video, x, y, scale); ctx.fillStyle = color; ctx.fillRect(x, y, scale, scale); } } } function getAverageColor(canvas, x, y, scale) { const ctx = canvas.getContext('2d'); const imageData = ctx.getImageData(x, y, scale, scale); const data = imageData.data; let r = 0, g = 0, b = 0; for (let i = 0; i < data.length; i += 4) { r += data[i]; g += data[i + 1]; b += data[i + 2]; } r = Math.floor(r / (scale * scale) / 4); g = Math.floor(g / (scale * scale) / 4); b = Math.floor(b / (scale * scale) / 4); return `rgb(${r}, ${g}, ${b})`; } ``` 这段代码会在视频上绘制一个马赛克效果。