Могу ли я отобразить и установить HTML5 canvas в исходный код HTML-ИЗОБРАЖЕНИЯ?

#image #html #canvas

#изображение #HTML #canvas

Вопрос:

Есть ли способ отобразить Canvas за кадром в элемент HTML-изображения?

Ответ №1:

img.src = canvas.toDataURL();

где img и canvas являются соответствующим объектом element (из document.getElementByElement(...) ).

Комментарии:

1. Спасибо. Могу ли я задать другой способ без преобразования?

2. Что вы подразумеваете под «без преобразования»?

3. Canvas отобразит изображение в виде растрового изображения в памяти, а метод look закодирует его в PNG. Итак, если я использую метод, я должен декодировать его из PNG. Это значительно снизит производительность. Я хочу избежать затрат на кодирование / декодирование, потому что я хочу отображать анимацию, отображаемую в реальном времени между элементами HTML.

4. Тогда почему вы не отображаете <canvas> элемент напрямую? Это был бы самый быстрый способ, потому что в некоторых браузерах, которые поставляются с ускорением hw, вы, по сути, получаете доступ к pixel на GPU напрямую. Многие из вас также рассматривают возможность использования двух <canvas> файлов, одного экранного, другого закадрового, и копирования пикселей между ними с помощью drawImage() .

5. Поскольку ни один элемент не может быть отображен на <canvas>, нет способа отобразить <video> в <canvas> . Это приемлемый медленный пользовательский интерфейс на медленной машине. Я могу остановить эффекты анимации на медленных машинах. Но мое приложение должно отображать видео внутри области отображения <canvas>.