Важная часть - сделать снимок экрана
- точно , поскольку пользователь видит окно браузера. Это исключает canvas - на основе вопросов и ответов, которые эмулируют браузер, но не могут точно воспроизвести, как он отображает html и css
- без каких-либо нестандартных плагинов за пределами простого, совместимого со стандартами html5 и JS . Это исключает Java-апплеты, Flash, ActiveX и любезно просит пользователя нажать кнопку «печать экрана», чтобы затем вставить изображение в форму.
Я натолкнулся на несколько вопросов о стековом потоке, касающихся этого (см. Выше), но не нашел ответа, который удовлетворял бы обоим условиям. Вместо того, чтобы пытаться добавить частичный ответ на существующие вопросы с немного другими требованиями, я задаю этот вопрос в отдельном вопросе.
До сих пор я нашел отличное объяснение того, как получать и передавать пиксели из любого окна в элемент video
, используя API захвата экрана . Однако я пропускаю следующий шаг, где те пиксели, которые отображаются в видеоэлементе, преобразуются в файл jpg
или png
, который можно загрузить на сервер.