Перейти к содержимому

Пиксели или слои

HTML to canvas: страница на холсте Figma в виде редактируемых слоёв

Библиотеки растровых скриншотов дают пиксели. HTML to Frames переносит страницу на холст Figma как векторы, текст и фреймы, которые можно менять.

  • Редактируемый текст и SVG-векторы, а не растровое изображение
  • Настоящие canvas и WebGL-блоки сохраняются как изображение этого блока
  • Анимации замораживаются ради чистого и стабильного кадра

Скоро в Figma Community

HTML to canvas: страница на холсте Figma в виде редактируемых слоёв

«HTML to canvas» означает две разные вещи, и их стоит разделить, прежде чем выбирать инструмент. Разработчики часто имеют в виду html2canvas — JavaScript-библиотеку, которая обходит DOM и рисует приближённую копию страницы в элементе <canvas>, — или браузерный скриншот видимых пикселей. Дизайнеры обычно имеют в виду другое: перенести веб-страницу на холст Figma, чтобы с ней можно было работать.

Оба варианта дают что-то похожее на страницу, но только один даёт материал для работы. Растр, каким бы чётким он ни был, — это сетка цветных пикселей. В нём нельзя исправить опечатку, изменить размер шрифта, перекрасить кнопку или вынести карточку в новый макет. Его можно только обрезать, масштабировать и закрашивать поверх.

HTML to Frames, плагин для Figma от EUREKA!, понимает второе значение буквально. Он отрисовывает страницу в настоящем браузере, считывает вычисленную геометрию и стили каждого элемента и воссоздаёт страницу на холсте Figma как нативные слои: фреймы, повторяющие структуру страницы, редактируемый текст с исходными стилями, SVG, преобразованные в векторы, и изображения с исходным масштабированием. Раскладка переводится в Auto Layout там, где это можно проверить, поэтому результат ещё и реагирует на изменение размера.

Есть один случай, когда пиксели — правильный ответ, и плагин обрабатывает его намеренно. У настоящего элемента <canvas> или WebGL-сцены внутри нет DOM, который можно было бы воссоздать, поэтому такой блок приходит как скриншот, а остальная страница остаётся редактируемой.

Развёрнутое сравнение — в статье HTML to canvas или редактируемые слои. Чтобы увидеть базовую конвертацию, начните с HTML to Figma, или посмотрите, что конвертируется, на странице возможностей.

Как перенести страницу на холст Figma

  1. 01

    Выберите, откуда взять страницу

    URL, локальный файл или папка, вставленные HTML и CSS, вкладка Chrome или AI-инструмент по MCP.

  2. 02

    Дайте браузеру её отрисовать

    Страница загружается в изолированном браузере, анимации замораживаются, а WebGL фиксируется через несколько кадров.

  3. 03

    Получите слои на холсте

    Фреймы, текст, векторы и изображения размещаются на текущей странице Figma и готовы к редактированию.

Почему слои на холсте лучше растра

Текст остаётся текстом

Заголовки и основной текст приходят как редактируемый текст с сохранёнными межбуквенным и межстрочным интервалами и смешанными стилями.

SVG становится векторами

Иконки и логотипы превращаются в редактируемые векторные слои, которые можно перекрашивать и масштабировать без размытия.

Структура, которую можно выделить

Вложенные фреймы повторяют структуру страницы, поэтому можно выбрать одну карточку, а не обрезать картинку.

Пиксели — только там, где нужно

Iframe, видео без постера и блоки WebGL или 3D-canvas приходят как скриншот этого блока.

Чистый «замороженный» захват

Анимации ставятся на паузу ради стабильного кадра, поэтому полупрозрачных элементов на середине анимации не будет.

Эталонный слой

На Pro скрытый заблокированный слой-скриншот позволяет сравнить пересборку с исходными пикселями.

html2canvas и скриншоты против редактируемых слоёв

Подходы на основе скриншотов и HTML to Frames начинают с одной и той же отрисованной страницы, но приходят к совершенно разным результатам.

html2canvas / браузерный скриншотHTML to Frames на холсте Figma
РезультатОдно растровое изображениеФреймы, текст, векторы и изображения
Редактирование текстаНевозможноПрямо на месте
МасштабированиеРазмывается при увеличении больше 1xВекторы остаются чёткими
РаскладкаФиксированные пикселиAuto Layout там, где проверен, constraints в остальных местах
Выбор одного элементаОбрезка вручнуюКлик по фрейму
Типичное применениеБаг-репорты, превью, миниатюрыРедизайны, аудиты, передача в разработку, дизайн-системы

Кроме того, html2canvas заново реализует CSS-рендеринг на JavaScript, поэтому может пропускать возможности, которые поддерживает браузер. HTML to Frames считывает значения из настоящего браузера на базе Chromium уже после отрисовки и сопоставляет их со свойствами Figma: градиенты, включая конические и повторяющиеся, тени, режимы наложения, blur и backdrop-blur, clip-path, mask-image и многое другое.

У скриншотов по-прежнему есть своя ниша. Если нужна быстрая визуальная фиксация, растра достаточно. Если вы собираетесь что-то менять, слои избавят вас от перерисовки страницы.

Полезное практическое правило: если следующий шаг — комментарий или тикет, хватит скриншота. Если следующий шаг — открыть Figma и что-то изменить, импортируйте слои.

Что происходит с настоящим <canvas> или WebGL-элементом

Часть контента на странице — уже пиксели. Элемент <canvas> рисуется с помощью JavaScript, а WebGL-сцена рендерит 3D-графику на GPU. Внутри этих блоков нет DOM, который можно прочитать, поэтому ни один инструмент не превратит их в осмысленные векторные слои.

HTML to Frames обрабатывает их явно, а не молча проваливается:

  • Блок захватывается как скриншот в точной позиции и размере.
  • WebGL-сцены фиксируются через несколько кадров, поэтому вы получаете стабильное изображение, а не пустой кадр или кадр посреди перехода.
  • Всё вокруг блока — заголовки, кнопки и оверлеи, расположенные поверх него, — остаётся редактируемыми слоями.

То же правило действует для другого встроенного контента, который не может быть слоями: iframe (например, карты), видео без постера и элементы object или embed. Каждый из них становится изображением собственного блока, а экран результатов показывает предупреждения.

На практике это значит, что лендинг с 3D-hero всё равно превращается в рабочий дизайн. Можно заменить изображение hero на новый визуал, переписать текст над ним и поправить отступы, а остальная страница сохранит свой Auto Layout. Как определяется эта раскладка, читайте в статье Auto Layout: как это работает.

Чистый кадр с движущейся страницы

Современные страницы двигаются: карусели прокручиваются, элементы проявляются при скролле, cookie-баннеры выезжают снизу, а hero-секции анимируются при загрузке. Наивный захват фиксирует то, что происходило в ту самую миллисекунду.

HTML to Frames захватывает страницу так, как её видит обычный посетитель, и даёт несколько настроек, чтобы результат был предсказуемым:

Замороженные анимации

Анимации замораживаются, поэтому захват показывает каждый элемент в устоявшемся состоянии, а не на середине перехода.

Включите эту опцию, и баннеры согласия и всплывающие окна скрываются перед захватом, чтобы не закрывать страницу на вашем холсте.

Extra wait

Медленным страницам, которые подгружают контент с задержкой, можно дать больше времени перед захватом. Extra wait (дополнительное ожидание) — опция Pro.

Full page

Захватывайте всю прокручиваемую страницу или только первый экран — в зависимости от задачи.

Эти опции работают независимо от того, откуда пришла страница: по URL, из локального файла или через расширение для Chrome. Расширение — правильный выбор, когда нужно конкретное состояние, например открытое меню, а не вид по умолчанию.

Если что-то всё же захватилось посреди анимации или пропало, экран результатов покажет предупреждения, а переимпорт в один клик с другой опцией обычно оказывается самым быстрым решением.

Частые вопросы

Написать в поддержку

Нет. html2canvas — это JavaScript-библиотека, которая рисует приближённую копию DOM в растровое изображение. HTML to Frames — плагин для Figma, который воссоздаёт страницу на холсте Figma как редактируемые слои: фреймы, текст, векторы и изображения, с Auto Layout там, где его можно проверить.

Да. Текст приходит как нативные текстовые слои Figma, включая смешанные стили внутри одного абзаца, ссылки, межбуквенный и межстрочный интервалы и text-transform. Если шрифт недоступен, экран Missing fonts позволяет выбрать замену до сборки страницы, и ваш выбор запоминается.

Внутри них нет DOM, который можно воссоздать, поэтому каждый такой блок приходит как скриншот в точной позиции и размере. WebGL фиксируется через несколько кадров, чтобы изображение было стабильным. Всё вокруг блока остаётся редактируемыми слоями.

Да, на Pro. Опция Reference screenshot добавляет под импорт скрытый заблокированный слой-изображение. Включайте его, когда нужно сравнить пересобранные слои с исходной отрисовкой, а в остальное время держите скрытым, чтобы не мешал.

Анимации замораживаются, а cookie-баннеры и всплывающие окна по вашему желанию скрываются, поэтому захват показывает устоявшуюся страницу. Скриншот же фиксирует всё, что было на экране в тот момент. Если нужно конкретное состояние, например открытое меню, используйте расширение для Chrome.

Линейные, радиальные и конические градиенты, внутренние и внешние тени, text-shadow, прозрачность, режимы наложения, blur и backdrop-blur, clip-path, mask-image, поворот и масштаб. Пока не поддерживаются skew и 3D-трансформации, clip-path через path(), многослойные маски и цвета Display-P3. Полный список — на странице возможностей.

Хватит перерисовывать веб вручную.

Вставьте ссылку и за секунды получите настоящие редактируемые адаптивные слои Figma. Начать можно бесплатно — 10 импортов каждый месяц.

Без банковской карты. Pro покупается прямо в Figma.

Скоро в Figma Community