Ce qui est légal (selon programme de validation.nu), mais inutile. Le contenu à l'intérieur de la canvas élément de secours. La seule façon de le contenu à l'intérieur de la canvas élément est utilisé, c'est si le navigateur ne prend pas en charge canvas, auquel cas l'intérieur canvas élément ne sera pas vu de toute façon.
L'autre façon possible de l'interpréter à votre question est peut on afficher l'image affichée sur une toile à l'intérieur de l'autre. C'est assez simple, un canvas élément peut être utilisé comme premier paramètre de context.drawImage(). Si vous avez deux canvas éléments:
Donc en résumé: oui, c'est possible, mais ce n'est pas vraiment nécessaire dans l'utilisation simple.
Il y a beaucoup de (certes non négligeable) raisons pour l'utilisation d'une deuxième toile. Par exemple, le dessin d'un mouvement graphique, le plus facile est fait en copiant le graphique à l'autre à l'écran de la toile, la compensation de la principale toile, et la copie de l'écran en toile de retour décalé sur la gauche par un pixel et le dessin des nouvelles données dans la colonne manquante. (Cela n'est nécessaire que si l'arrière-plan du graphique est transparent). Oui, aussi différents de traitement de l'image des choses. Mais je maintiens mon "il n'est pas vraiment nécessaire dans l'utilisation simple", je ne pense pas que ce genre de trucs est pertinente à cette question ou cette réponse. Peut-être pas, mais un nouveau venu pourrait prendre votre libellé à dire que c'est excessif, quand il est souvent la plus soignée et la plus optimale pour accomplir quelque chose. Si vous avez un changement de toile avec des éléments statiques (par exemple, un jeu), il ya d'énormes avantages de performance de cette technique, vous avez seulement besoin de dessiner l'image/vecteurs dans une toile une fois, puis il suffit de dessiner ce sur la principale lors de la mise à jour. +1 pour la bonne réponse. Il peut être utilisé dans le cas lors de l'impression d'étiquettes ou de photographies. Comme l'extérieur de la toile détient plusieurs type similaire intérieure de la toile à l'intérieur. L'intérieur de la toile contient du texte ou des photos. Essayez createPattern() la fonction de toile pour ce but.
Il serait absolument inutile de nid d'une toile à l'intérieur d'une autre toile. La page ne voit que ce qui est à l'intérieur de la canvas balise si le navigateur ne prend pas en charge la canvas. Donc, il suffit de faire ce robertc dit:
<canvas id="background">fallbacks/polyfills go in here...</canvas>
<canvas id="foreground">.. or here, but not other canvases.</canvas>
Il y a deux façons d'interpréter à votre question. L'une est que vous pensiez réellement nid
canvas
éléments eux-mêmes, comme ceci:Ce qui est légal (selon programme de validation.nu), mais inutile. Le contenu à l'intérieur de la
canvas
élément de secours. La seule façon de le contenu à l'intérieur de lacanvas
élément est utilisé, c'est si le navigateur ne prend pas en chargecanvas
, auquel cas l'intérieurcanvas
élément ne sera pas vu de toute façon.L'autre façon possible de l'interpréter à votre question est peut on afficher l'image affichée sur une toile à l'intérieur de l'autre. C'est assez simple, un
canvas
élément peut être utilisé comme premier paramètre decontext.drawImage()
. Si vous avez deuxcanvas
éléments:Puis ce script (à l'aide de jQuery) s'appuiera sur la première
canvas
puis ajouter que quatre fois comme une image de la deuxièmecanvas
:Mais encore une fois, pourquoi le feriez-vous? Vous pouvez reproduire l'image de la deuxième
canvas
ci-dessus simplement en utilisant un:Donc en résumé: oui, c'est possible, mais ce n'est pas vraiment nécessaire dans l'utilisation simple.
Oui, aussi différents de traitement de l'image des choses. Mais je maintiens mon "il n'est pas vraiment nécessaire dans l'utilisation simple", je ne pense pas que ce genre de trucs est pertinente à cette question ou cette réponse.
Peut-être pas, mais un nouveau venu pourrait prendre votre libellé à dire que c'est excessif, quand il est souvent la plus soignée et la plus optimale pour accomplir quelque chose. Si vous avez un changement de toile avec des éléments statiques (par exemple, un jeu), il ya d'énormes avantages de performance de cette technique, vous avez seulement besoin de dessiner l'image/vecteurs dans une toile une fois, puis il suffit de dessiner ce sur la principale lors de la mise à jour. +1 pour la bonne réponse.
Il peut être utilisé dans le cas lors de l'impression d'étiquettes ou de photographies. Comme l'extérieur de la toile détient plusieurs type similaire intérieure de la toile à l'intérieur. L'intérieur de la toile contient du texte ou des photos. Essayez createPattern() la fonction de toile pour ce but.
OriginalL'auteur robertc
Il serait absolument inutile de nid d'une toile à l'intérieur d'une autre toile. La page ne voit que ce qui est à l'intérieur de la
canvas
balise si le navigateur ne prend pas en charge lacanvas
. Donc, il suffit de faire ce robertc dit:<canvas id="background">fallbacks/polyfills go in here...</canvas>
<canvas id="foreground">.. or here, but not other canvases.</canvas>
OriginalL'auteur DUUUDE123