|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
canvas加载视频完整的语法如下:
drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
共 9 个参数:
① image - 图像,如果是视频,则是视频元素的 id;
② sx - 图像源需要切片的起始X坐标;
③ sy - 图像源需要切片的起始Y坐标;
④ sWidth - 图像源需要切片的宽度;
⑤ sHeight - 图像源需要切片的高度;
⑥ dx - 画布开始绘制图像的X坐标;
⑦ dy - 画布开始绘制图像的Y坐标;
⑧ dWidth - 画布中要绘制图像的宽度;
⑨ dHeight - 画布中要绘制图像的高度。
我们以熊猫办公的MP4为例,切片的目的是将“熊猫办公”的字样去掉。这要剪裁视频上方的即Y轴从上往下的一部分,以 1024*576的呈现目标为例,我们可能需要从视频的Y轴的 42 像素处开始剪裁:
drawImage(image, 0, 42, 1024, 576, 0, 0, 1024, 576)
看得出来,第三个参数不是 0 而是 42,表示视频的纵向方向从上往下的第 42 个像素开始裁剪,换言之,0到42的纵向部分不要。
下面的代码请自行体会,效果在后面的回复可以看到:
- <style>
- #vid { display: none; }
- #canv {
- margin: 0 0 0 calc(50% - 593px);
- display: block;
- position: relative;
- }
- </style>
- <video id="vid" src="https://img.tukuppt.com/video_show/2405179/00/01/50/5b4465a5b8366.mp4" autoplay loop></video>
- <canvas id="canv" width="1024" height="576"></canvas>
- <script>
- let cav = canv.getContext('2d');
- vid.addEventListener('play', loop, false);
- function loop() {
- cav.drawImage(vid, 0, 42, canv.width, canv.height, 0, 0, canv.width, canv.height);
- if(!vid.paused) {
- requestAnimationFrame(loop);
- return;
- }
- }
- </script>
复制代码
|
评分
-
| 参与人数 4 | 威望 +140 |
金钱 +280 |
经验 +110 |
收起
理由
|
雨中悄然
| + 30 |
+ 60 |
+ 30 |
很给力! |
东篱闲人
| + 30 |
+ 60 |
|
很给力! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
醉美水芙蓉
| + 30 |
+ 60 |
+ 30 |
赞一个! |
查看全部评分
|