实现的效果:可以在画布上播放动态视频,并且加上自定义的图片logo放在视频的右下角

- DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>绘制视频title>
- head>
- <body>
- <div>绘制视频div>
- <canvas id="myCanvas" width="500" height="350">canvas>
- <button id="player" style="display: block">暂停/播放button>
-
- <script>
- // 获取画布
- const canvas = document.getElementById('myCanvas')
- // 获取画笔
- const ctx = canvas.getContext('2d')
- // 获取视频
- // const video = document.querySelector('video')
- const video = document.createElement('video')
- video.src = './assets/video.mp4'
- const logo = new Image()
- logo.src = './assets/ball.png'
-
- // 获取按钮
- const btn = document.querySelector('#player')
- btn.onclick = () => {
- // 判断视频是否在播放
- if (video.paused) {
- video.play()
- } else {
- video.pause()
- }
- renderVideo()
- }
- // 绘制视频
- const renderVideo = () => {
- // 绘制视频
- ctx.drawImage(video, 0, 0, 500, 350)
- // 还可以继续绘制一个logo
- // ctx.drawImage(logo, 460, 320, 40, 30)
- requestAnimationFrame(renderVideo)
- }
- script>
- body>
- html>