Есть ли возможность проверять объекты, отображаемые на холсте HTML5, как мы можем делать в Silverlight с помощью Silverlight Spy?
Если я использую инспектор элементов Chrome, я могу проверять только DOM.
Есть ли возможность проверять объекты, отображаемые на холсте HTML5, как мы можем делать в Silverlight с помощью Silverlight Spy?
Если я использую инспектор элементов Chrome, я могу проверять только DOM.
EDIT: этот ответ не работает в новых версиях Chrome, см.: инспектор chrome canvas 2015
В Chrome Канарейка:
chrome://flags/
gear
, чтобы открыть настройки разработчикаПолное руководство по профилировщику холста: http://www.html5rocks.com/en/tutorials/canvas/inspection/
Анимированный gif, показывающий это в действии: https://twitter.com/umaar/status/480705624448045057
Settings
3 вертикальные точки в правом верхнем углу (или используйте F1).
- person rwcorbett; 14.01.2016
49.0.2621.0 canary (64-bit)
. Я думаю, что отладчик Firefox Canvas может работать нормально... но было бы неплохо вернуть его обратно
- person rwcorbett; 14.01.2016
Содержимое Canvas не является частью DOM, поэтому вы не можете проверить его содержимое. Как вы правильно заметили, инспекторы могут проверять только DOM, поэтому холст выходит за его рамки. Вы можете проверить содержимое холста в консоли ваших инструментов разработки, хотя с помощью
yourcanvas.toDataURL();
и проверьте выходной dataURL на соседней вкладке.
На холсте HTML5 нет объектов. Есть только пиксели. Когда вы рисуете фигуру, холст взмахивает палочкой, появляются пиксели, а потом он забывает, что вообще что-то произошло.
Как и многие другие, вы можете отслеживать, что вы рисуете на Canvas, чтобы иметь постоянные объекты для перерисовки. Я написал Нежное введение в создание интерактивного HTML5 Canvas, и, несомненно, если вы выполните поиск, вы найдете другие учебные пособия.
Когда вы создаете свою систему постоянных объектов, вы почти наверняка захотите включить много кода отладки, который выводит простые для понимания списки объектов и их координат. Многие люди предпочитают делать это с помощью операторов console.log
, которые будут выводить любые строки, которые вы хотите, в консоль разработчика (часть инструментов разработчика F12 в большинстве современных браузеров).
Но это все. То, что вы строите, это то, что вы можете использовать для проверки вещей.
Нет возможности проверить содержимое холста на данный момент, но в случае WebGL вы можете использовать " WebGL Inspector " для Google Chrome, поэтому я думаю, что можно сделать аналогичное расширение и для Canvas. но это не работает как обычные инспекторы DOM.
Вот функции Инспектора WebGL:
Будем надеяться, что я не бездорожник, но на данный момент нет инспектора Bitmap или Vector Canvas.
Относитесь к холсту как к краске ms. Объектов нет, есть только пиксели и способы их размещения на экране.