canvas-视频绘制

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>canvas-视频绘制</title>
    <style>
        #canvas{
            float: left;
            border: 1px solid palevioletred;
        }
    </style>
</head>
<body>
    <!--controls="controls" 显示控制按钮 -->
    <video id="movie" controls="controls" width="800" >
        <source src="./image/movie.webm">
    </video>
    <canvas id="canvas" width="500px" height="600px">
    </canvas>
    <script>
        //获取到canvas元素
        var canvas = document.getElementById('canvas');
        //获取canvas中的画图环境
        var context = canvas.getContext('2d');

        //获取视频对象
        var movie = document.getElementById('movie');

        window.onload = function (){
            movie.play();//开始播放视频
            //将视频逐帧添加到canvas中。
            //window.webkitRequestAnimationFrame(animate); //谷歌浏览器,参数是一个回调函数
           // window.oRequestAnimationFrame(animate) //Opera浏览器,参数是一个回调函数
           // window.mozRequestAnimationFrame(animate)//火狐浏览器,参数是一个回调函数
            window.requestAnimationFrame(animate); //W3C标准,参数是一个回调函数
        }

        //视频播放函数
        function animate(){
            //判断视频是否播放完毕
            if(!movie.ended){
                //绘制图像帧
                context.drawImage(movie,0,0,500,300);
                context.drawImage(movie,0,300,500,300);
                //回调自身:视频播放函数
                window.requestAnimationFrame(animate);
            }else{
                context.textAlign = 'center';
                context.textBaseline = 'middle';
                context.font = '50px 楷体';
                context.fillStyle = 'red';
                context.fillText("播放完毕!",canvas.width/2,canvas.height/2);

            }
        }
    </script>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值