Ошибка при рисовании изображения на холсте

#javascript #video #canvas

#javascript #Видео #холст

Вопрос:

Я не знаю, почему возникает эта ошибка:

 Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1
  

Из-за запуска того, что эффективно:

 my.ctx.drawImage(videoSelector, "358px", "0px", "920px", "599px", "358px", "0px", "920px", "599px");
  

Я вычисляю эти размеры, чтобы обрезать фактическую область содержимого тега video. Поскольку мой тег video равен 100% / 100%, что не соответствует размеру окна браузера, есть черная область, которая не переводится в тег canvas при его отображении.

Есть идеи о том, почему я получаю эту ошибку, или лучший способ скопировать версию тега video того же размера, не растягивая его?

Ответ №1:

Согласно спецификациям

Если один из размеров исходного прямоугольника равен нулю, генерируется исключение INDEX_SIZE_ERR

И…

Если один из аргументов sw или sh равен нулю, реализация должна вызвать исключение INDEX_SIZE_ERR.

На самом деле вам не нужно определять ‘px’ там, что может быть причиной, если результирующее значение интерпретируется неправильно