Y a-t-il une possibilité d'inspecter les objets rendus sur une toile HTML5 comme nous pouvons le faire dans Silverlight avec Silverlight Spy?
Si j'utilise Chrome je ne peux inspecter que DOM.
EDIT: cette réponse ne fonctionne pas sur les nouvelles chrome voir: Chrome Canvas Inspector 2015
Dans Chrome Canary:
chrome://flags/
Le guide complet sur le profileur de toile: http://www.html5rocks.com/en/tutorials/canvas/inspection/
Gif animé le montrant en action: https://Twitter.com/umaar/status/480705624448045057
Le contenu de Canvas ne fait pas partie du DOM, il n'y a donc aucun moyen d'inspecter son contenu. Comme vous l'avez correctement indiqué, les inspecteurs ne peuvent inspecter que DOM, donc le canevas est hors de sa portée. Vous pouvez vérifier le contenu du canevas dans la console de vos devtools avec
yourcanvas.toDataURL();
et vérifiez l'URL de données de sortie dans l'onglet voisin.
Il n'y a aucun objet rendu sur un canevas HTML5. Il n'y a que des pixels. Lorsque vous dessinez une forme, le canevas agite sa baguette, des pixels apparaissent, puis il oublie que quelque chose s'est même produit.
Comme beaucoup l'ont fait, vous pouvez garder une trace de ce que vous dessinez sur un canevas afin d'avoir des objets persistants à redessiner. J'ai écrit quelques tutoriels populaires à ce sujet et sans aucun doute si vous recherchez, vous en trouverez plus.
Lorsque vous construisez votre système d'objets persistants, vous souhaiterez presque certainement inclure beaucoup de code de débogage qui génère des listes d'objets faciles à comprendre et leurs coordonnées. Beaucoup de gens choisissent de le faire avec console.log
instructions qui afficheront les chaînes que vous souhaitez sur la console du développeur (qui fait partie des outils de développement F12 dans la plupart des navigateurs modernes).
Mais c'est tout. Ce que vous construisez est ce que vous pouvez utiliser pour inspecter les choses.
Il n'y a aucun moyen d'inspecter le contenu du canevas pour le moment, mais dans le cas de WebGL, vous pouvez utiliser l'extension " WebGL Inspector " pour Google Chrome, donc je pense = c'est possible pour faire une extension similaire pour Canvas aussi. mais cela ne fonctionne pas comme les inspecteurs DOM courants.
Voici les fonctionnalités de l'inspecteur WebGL:
Espérons que je ne sois pas hors route, mais il n'y a pas d'inspecteur Bitmap ou Vector Canvas pour le moment.
Traitez la toile comme ms Paint. Il n'y a pas d'objets, il n'y a que des pixels et des méthodes pour les mettre à l'écran.