作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为每个视频将图像设置到 Canvas 上。我循环遍历 FileID 数组,然后尝试从相应的视频中获取图像并将其添加到 Canvas 上。
如果在 drawImage
函数之前添加警报,则以下代码有效。
循环:
jQuery.each(arUniqueVideos, function (index, value) {
SetThumbnail(value);
});
功能:
function SetThumbnail(value) {
var canvas = jQuery("#img" + value);
var video = jQuery("#vid" + value);
var img = new Image();
img = video[0];
var canv = canvas[0];
//alert('test'); //works only if this alert is added
canv.getContext("2d").drawImage(img, 0, 0, 100, 100);
}
我尝试像这样绘制图像,但仍然不起作用:
img.onload = function() {
canv.getContext("2d").drawImage(img, 0, 0, 100, 100);
}
最佳答案
您需要监听加载事件。当视频可以播放时,oncanplay
将触发。添加警报只是允许视频在您尝试使用之前加载。如果没有警报,您的代码将在视频加载之前运行。
关于javascript - 仅当添加警报时,从视频获取图像并添加到 Canvas 才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39600268/
我是一名优秀的程序员,十分优秀!