swaro
@swaro
Nice code - awesome bugs

Почему Canvas дает пустое изображение в Chrome?

Я хочу получить первый кадр видеоролика, для того, чтобы этот самый кадр был его превью. Важно: кадр должен быть именно изображением, поэтому использую Canvas. Проблема в том, что Canvas на toDataURL() генерирует пустое, прозрачное изображение, и я не знаю, что с этим делать. Что важно: в Firefox такой проблемы не наблюдается. Что мне нужно сделать, чтобы Canvas начал нормально генерировать картинки в Хроме?
Код генерации:
let canvas = document.createElement("canvas");
let video = document.createElement("video");

video.src = URL.createObjectURL(file); // переменная file здесь это объект класса File
video.addEventListener("loadeddata", () =>
{
	canvas.height = video.videoHeight;
	canvas.width = video.videoWidth;
		
	let canvas_context = canvas.getContext("2d");
	canvas_context.drawImage(video, 0, 0);

	img.src = canvas.toDataURL();
});

В хроме тем временем происходит это:
620e777317b93324131343.png
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы