Я создаю изображение на нескольких перекрывающихся холстах при загрузке страницы (без взаимодействия с пользователем), но для полного рисования требуется ~ 3 секунды. Я хочу сгладить эти холсты и преобразовать это изображение в PNG на сервере, для использования в предварительном просмотре миниатюр.Сохранить HTML-холст как изображение без браузера клиента
Сглаживание на один холст (с использованием ctx.drawImage (other_canvas, 0,0)), а затем ctx.toDataUrl() выглядит точно так, как мне нужно. Есть ли способ сделать это на стороне сервера без необходимости просмотра обозревателя? Возможно, что-то вроде анализатора javascript/canvas в командной строке, который может загружать страницу, дождаться, пока холст закончит рендеринг, затем добавьте некоторый javascript, чтобы сгладить, вызвать toDataUrl, изменить размер и сохранить полученный образ.
Решения AJAX, которые визуализируют и отправляют эскиз обратно на сервер, не будут работать, так как мне нужен эскиз, прежде чем первый человек просмотрит страницу. Он также должен быть быстрым (надеюсь, только немного дольше, чем время, которое холст берет для рендеринга, 3 секунды). Я не могу дождаться внешней службы, такой как браузеры.
Я посмотрел на CutyCapt, но это делает всю веб-страницу, а не только холст (а также по какой-то причине не рисует все на моем холсте).
Спасибо.
Я подумал об этом, но мне потребуется переустановка моего js-кода на PHP и поддержка обеих версий. – Crashthatch