Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox drawImage tot画布错误:IndexSizeError:索引或大小为负或大于允许的数量_Javascript_Firefox_Canvas_Drawimage - Fatal编程技术网

Javascript Firefox drawImage tot画布错误:IndexSizeError:索引或大小为负或大于允许的数量

Javascript Firefox drawImage tot画布错误:IndexSizeError:索引或大小为负或大于允许的数量,javascript,firefox,canvas,drawimage,Javascript,Firefox,Canvas,Drawimage,我曾经使用Chrome,但我需要用Firefox测试我的插件。 我试图捕获视频元素并将其绘制到画布上。在Chrome中,一切都很好,但在Firefox中,我遇到了这个恼人的错误,我还无法修复 IndexSizeError: Index or size is negative or greater than the allowed amount 我正在使用以下代码行将视频$(“#视频”)[0]绘制到画布$(“#输出”)[0]。getContext('2d'): 我将获取video.width和v

我曾经使用Chrome,但我需要用Firefox测试我的插件。 我试图捕获视频元素并将其绘制到画布上。在Chrome中,一切都很好,但在Firefox中,我遇到了这个恼人的错误,我还无法修复

IndexSizeError: Index or size is negative or greater than the allowed amount
我正在使用以下代码行将视频
$(“#视频”)[0]
绘制到画布
$(“#输出”)[0]。getContext('2d')

我将获取video.width和video.height值的错误。
我制作了一个JSFIDLE,它在Chrome中运行良好,但在Firefox中出现错误:

尝试使用以下属性:

outputCtx.drawImage(video, 0,0, video.videoWidth, video.videoWeight,
                    0, 0, 1815, 1358);
源矩形必须始终位于源位图内。当其中一个参数在外部或0或负值时,会出现错误消息

在Firefox中,宽度可能并不反映实际的视频大小。因此,请尝试videoWidth/Height属性,或者在最坏的情况下将它们组合起来:

outputCtx.drawImage(video, 0,0,
                    video.videoWidth||video.width,
                    video.videoHeight||video.height,
                    0, 0, 1815, 1358);

希望这有帮助

谢谢你的回复!我已经改变了你的建议(),现在我再也不会犯错误了。快照已拍摄,但由于某些原因,两种浏览器(Chrome和FF)中的尺寸都过大(甚至视频元素上的宽度和高度属性都是正确的)。。
outputCtx.drawImage(video, 0,0,
                    video.videoWidth||video.width,
                    video.videoHeight||video.height,
                    0, 0, 1815, 1358);