Инспектор холста HTML5?

Есть ли возможность проверять объекты, отображаемые на холсте HTML5, как мы можем делать в Silverlight с помощью Silverlight Spy?

Если я использую инспектор элементов Chrome, я могу проверять только DOM.


person mastak    schedule 04.02.2012    source источник
comment
JavaScript — это не HTML. Я обновил ваш вопрос.   -  person Jonas    schedule 04.02.2012
comment
Вкладка «Профиль» Google Chrome в разделе «Инструменты разработчика» (Ctrl + Shift + J) может помочь. Я никогда не пробовал с холстом, хотя.   -  person Ry-♦    schedule 04.02.2012
comment
@minitech: вкладка «Профили» позволяет вам просмотреть использование ЦП и кучи JavaScript; на самом деле это не имеет ничего общего с тем, что отображается на экране.   -  person josh3736    schedule 04.02.2012
comment
@ josh3736: Извините, я думал, что ОП означает профилирование холста, неважно: P   -  person Ry-♦    schedule 04.02.2012


Ответы (5)


EDIT: этот ответ не работает в новых версиях Chrome, см.: инспектор chrome canvas 2015

В Chrome Канарейка:

  1. в браузере введите этот URL chrome://flags/
  2. enable Включить эксперименты с инструментами разработчика
  3. перезапустить Chrome
  4. в инструментах разработчика нажмите gear, чтобы открыть настройки разработчика
  5. выберите в меню эксперименты
  6. выберите Проверки холста
  7. закройте devtools, обновите страницу, снова откройте devtools

Полное руководство по профилировщику холста: http://www.html5rocks.com/en/tutorials/canvas/inspection/

Анимированный gif, показывающий это в действии: https://twitter.com/umaar/status/480705624448045057

person jedierikb    schedule 22.01.2013
comment
есть ли причина, по которой это чудесным образом исчезнет? У меня это работало как на канарейке, так и на ванили, однажды пуф. Эксперименты с инструментами разработчика все еще включены, нет профилировщика, нет проверок холста? - person pailhead; 18.04.2015
comment
@jedierikb, не могли бы вы сообщить мне, что такое «снаряжение», и где и как его найти. Когда открываются инструменты разработчика, открывается окно проверки элементов. где и что такое "шестерня"? - person user786; 22.05.2015
comment
@Alex - в последней версии Canary это означает Settings 3 вертикальные точки в правом верхнем углу (или используйте F1). - person rwcorbett; 14.01.2016
comment
как указал @pailhead, похоже, что это недоступно в последних версиях - я не вижу этого в 49.0.2621.0 canary (64-bit). Я думаю, что отладчик Firefox Canvas может работать нормально... но было бы неплохо вернуть его обратно - person rwcorbett; 14.01.2016
comment
Я не могу найти параметр «Включить эксперименты с инструментами разработчика» в последней версии Chrome, возможно, его имя изменено, пожалуйста, помогите мне найти альтернативный вариант для использования проверки холста. - person 4LPH4; 08.07.2020
comment
По состоянию на 26 апреля 2021 г. проверка холста больше недоступна в разделе «Эксперименты». - person MegaMatt; 26.04.2021

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

yourcanvas.toDataURL();

и проверьте выходной dataURL на соседней вкладке.

person spliter    schedule 04.02.2012
comment
Canvas — это растровое изображение: его содержимое — это только то, что вы видите на экране. - person Mikko Ohtamaa; 04.02.2012
comment
Не совсем уверен, что последний комментарий был в помощь, спасибо @spliter - это отлично подходит для отладки! - person UpTheCreek; 11.10.2012
comment
Возможно, это не то, что хотел ОП, но это именно то, что мне было нужно, спасибо! - person Nathan Friedly; 04.09.2020

На холсте HTML5 нет объектов. Есть только пиксели. Когда вы рисуете фигуру, холст взмахивает палочкой, появляются пиксели, а потом он забывает, что вообще что-то произошло.

Как и многие другие, вы можете отслеживать, что вы рисуете на Canvas, чтобы иметь постоянные объекты для перерисовки. Я написал Нежное введение в создание интерактивного HTML5 Canvas, и, несомненно, если вы выполните поиск, вы найдете другие учебные пособия.

Когда вы создаете свою систему постоянных объектов, вы почти наверняка захотите включить много кода отладки, который выводит простые для понимания списки объектов и их координат. Многие люди предпочитают делать это с помощью операторов console.log, которые будут выводить любые строки, которые вы хотите, в консоль разработчика (часть инструментов разработчика F12 в большинстве современных браузеров).

Но это все. То, что вы строите, это то, что вы можете использовать для проверки вещей.

person Simon Sarris    schedule 04.02.2012
comment
Правильно.. пока нет браузеров для поддержки проверки холста.. только один способ использовать правильный фреймворк, такой как Kohana - person mastak; 29.02.2012

Нет возможности проверить содержимое холста на данный момент, но в случае WebGL вы можете использовать " WebGL Inspector " для Google Chrome, поэтому я думаю, что можно сделать аналогичное расширение и для Canvas. но это не работает как обычные инспекторы DOM.

Вот функции Инспектора WebGL:

  • Расширение для вставки на страницы
  • Встраивание в существующее приложение с помощью одного скрипта включает
  • Захватите все кадры GL
  • Аннотированный журнал вызовов с пошаговой навигацией/навигацией по ресурсам и избыточными предупреждениями о вызовах
  • История пикселей — просмотр всех вызовов отрисовки, которые способствовали созданию пикселя + информация о смешивании.
  • Отображение состояния GL
  • Браузеры ресурсов для текстур, буферов и программ

Будем надеяться, что я не бездорожник, но на данный момент нет инспектора Bitmap или Vector Canvas.

person sysop    schedule 04.02.2012
comment
Привет @sysop, я не могу найти это в настройках Chrome, не уверен, изменил ли это Google. пл. дайте мне знать - person React Developer; 17.02.2020

Относитесь к холсту как к краске ms. Объектов нет, есть только пиксели и способы их размещения на экране.

person rezoner    schedule 04.02.2012