<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<canvas id="canvas" width="400" height="300"></canvas>
<script src="main.js"></script>
</body>
</html>
 (function () {
var videoWidth = 320;
var videoHeight = 240;
var canvas = document.getElementById("canvas");
var memoryCanvas = document.createElement("canvas");
memoryCanvas.width = 400;
memoryCanvas.height = 300;
var context = canvas.getContext("2d");
var memoryContext = memoryCanvas.getContext("2d");
var targetBitmap = memoryContext.createImageData(videoWidth, videoHeight); /**
* @type {HTMLVideoElement}
*/
var video; function loadVideo() {
video = document.createElement("video");
video.autoplay = true;
video.src = "12.mp4";
} function render() { // context.drawImage(video, 0, 0); memoryContext.drawImage(video, 0, 0);
var sourceImageData = memoryContext.getImageData(0, 0, videoWidth, videoHeight); for (var i = 0; i < sourceImageData.data.length; i += 4) {
var r = sourceImageData.data[i];
var g = sourceImageData.data[i + 1];
var b = sourceImageData.data[i + 2]; var c = (r + g + b) / 3; targetBitmap.data[i] = c;
targetBitmap.data[i + 1] = c;
targetBitmap.data[i + 2] = c;
targetBitmap.data[i + 3] = 255;
} context.putImageData(targetBitmap, 0, 0); requestAnimationFrame(render);
} function init() {
loadVideo();
render();
} init();
})();

最新文章

  1. gcc工具链简述
  2. Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
  3. mysql 使用说明-2
  4. Python 学习之urllib模块---用于发送网络请求,获取数据(3)
  5. 每日一小练——Eratosthenes 筛选法
  6. 【SpringMVC】【EasyUI】关于使用EasyUIForm上传文件,返回JsonIE提示下载文件的解决办法!
  7. hdu 1233 还是畅通project(kruskal求最小生成树)
  8. Docker(九):Docker容器卷插件
  9. cocos2d-x 游戏开发之有限状态机(FSM) (二)
  10. ImageMagick
  11. 【2018.05.09 Python学习及实践】个人项目中使用的Python库备忘-持续更新
  12. Xenserver之设置Xenserver和VM机开机自动启动
  13. m2e-wtp的作用
  14. fyzcms---相关文章推荐功能
  15. WebStorm使用快速入门
  16. learning scala 操作符
  17. Sass进阶之路,之一(基础篇)
  18. 韩天峰力荐 Swoole入门到实战打造高性能赛事直播平台
  19. Xilinx Microblaze Bootloader
  20. python-websocket-server hacking

热门文章

  1. Storm系列之二——Guaranteeing Message Processing
  2. 修改ftp密码
  3. C# DataTable的详细用法
  4. 编写Music类
  5. CronTrigger:Corn表达式
  6. CodeForces 490C Hacking Cypher
  7. Cheatsheet: 2013 08.20 ~ 08.31
  8. CUBRID学习笔记 5 错误码
  9. hdu 4946 Just a Joke(数学+物理)
  10. ZOJ 3785 What day is that day?(今天是星期几?)