简单地利用canvas载入视频
canvas加载视频和图片是一样的,使用drawImage,区别就是给一个定时器不停的抓取每帧的画面,放入Canvas画布里面,这个办法有点简单粗暴,原理为:监听了video的play事件,并设置定时器,每20ms调用一次drawImage,当video的ended事件触发时,清除定时器。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Test</title>
</head>
<body><video src="p03501roz02.p702.1.mp4" id="video1" width="270" controls autoplay></video><canvas id="myCanvas" width="270" height="135"></canvas><script>var v = document.getElementById('video1')var c = document.getElementById('myCanvas')var ctx = c.getContext('2d')// 每20ms画一次图v.addEventListener('play', function () {var i = window.setInterval(function () {ctx.drawImage(v, 0, 0, 270, 135);if (v.ended) {clearInterval(i)}}, 20)});</script>
</body>
</html>
简单地利用canvas载入视频相关推荐
- js截屏 video_video结合canvas实现视频在线截图功能
给大家讲解下我前几天看到的一个有趣小demo:视频在线截图.以下是我修改和添加了新功能后的效果图: 是不是很酷,其实挺简单的,下面就给大家讲讲怎么弄哈. 这里主要分为三大块功能,首先是第一个: 利用U ...
- web实战:video结合canvas实现视频在线截图
给大家讲解下我前几天看到的一个有趣小demo:视频在线截图.以下是我修改和添加了新功能后的效果图: 是不是很酷,其实挺简单的,下面就给大家讲讲怎么弄哈. 这里主要分为三大块功能,首先是第一个: 利用U ...
- 在html利用canvas蚂蚁,html5 利用canvas实现简单的人物走动
最近在学习html5,其中涉及到很关键的元素canvas-画布,在网上下载了一些游戏源代码,虽然能看懂,但是想单独地针对某个功能提取出来还是有难处的,于是乎自己又上网查找了一些例子,才将超级玛丽简单的 ...
- canvas绘制视频封面
一.需求:上传视频,同时截取视频某一帧作为视频的封面. 二.实现思路:利用canvas绘制图像的功能,绘制图像某一帧,这里绘制了第一帧,很简单就实现了. 三.代码: <!DOCTYPE html ...
- 教你如何利用canvas画布绘制哆啦A梦
教你如何利用canvas画布绘制哆啦A梦 最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦.如图: HTML代码: <canvas id="my_ ...
- 视频封面图片修改html代码,canvas绘制视频封面的方法
一.需求:上传视频,同时截取视频某一帧作为视频的封面. 二.实现思路:利用canvas绘制图像的功能,绘制图像某一帧,这里绘制了第一帧,很简单就实现了. 三.代码: capture screen vi ...
- Canvas入门-利用Canvas绘制好玩的电子时钟
在这之前 你需要了解一下方法的使用: beginPath() closePath() moveTo() lineTo() fill() stroke() fillRect() clearRect() ...
- php怎么实现弹幕,HTML如何利用canvas实现弹幕功能
本篇文章主要介绍HTML如何利用canvas实现弹幕功能,感兴趣的朋友参考下,希望对大家有所帮助. 简介 最近在做大作业的时候需要做一个弹幕播放器.借鉴了一下别人的源码自己重新实现了一个,演示如下 主 ...
- html5 自动扣图,html5利用canvas实现颜色容差抠图功能
利用canvas的getImageData,我们可以获取到一张图片每一个像素的信息,而通过对每一个像素信息的对比,我们就可以找到需要消去的像素点.比如下面这一张图片,如果我们想要扣去白色部分(粉色是b ...
最新文章
- 跨平台PHP调试器设计及使用方法——拾遗
- Cell综述:动植物界的微生物群和宿主营养
- Android之一起玩转下拉刷新控件
- 自动调节图像的对比度 和改变图像的大小
- LSI系新军搅局,PCIe固态盘混战?
- python操作redis集群_python操作redis集群
- mysql卸载完环境变量还有_MySql完全卸载
- C#LeetCode刷题之#111-二叉树的最小深度​​​​​​​(Minimum Depth of Binary Tree)
- Docker镜像常用命令(三)
- 移动端---媒体查询
- 【Lintcode】541. Zigzag Iterator II
- gcc cross compiler 问题
- Python PIL Image 4通道透明图片叠加(ARGB)
- 九型人格:三、The proformer 实干者 - 我若没有成就,就没有人会爱我。
- 【云原生之Docker实战】使用docker部署DokuWiki知识库系统
- 基于Spring Security和 JWT的权限系统设计
- linux设置开机自启服务,linux设置服务开机自启动的三种方式
- 烧得七荤八素了,完了这下,本来现在应该在学校做网站的,然而半小时前还摊在床上哼哼唧唧。
- 把成都市所有图书馆标记在地图上需要几步?超简单
- 前端H+框架的常规操作
热门文章
- Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!
- python全栈开发 * 08知识点汇总 * 180608
- 一文看懂如何搭建AI应用:10周学会深度学习,还赢下5千美元
- Excahnge 2010断开连接的邮箱无法找到
- linux5.4+resin4.0.14+jdk1.6+JDBC篇
- Kilim实现浅析(一)
- PHP 截取中文字符函数
- [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型
- Java多线程中使用ReentrantLock、synchronized加锁 简单举例
- 使用WeexSDK,网络请求信任证书的问题