Je suis actuellement à la recherche d'un moyen de créer un contexte de rendu 2D de canvas sans avoir d'élément canvas sur la page. Je pourrais créer dynamiquement un élément de canevas et le cacher, mais là encore je ne veux pas montrer l'image directement à l'utilisateur à tout moment, donc il ne sert à rien d'avoir un élément canvas dans la page. Je cherche donc basiquement quelque chose qui ressemble àCréer un 2d context * sans * canvas
var image = new Image();
mais seulement pour toile 2d contexte de rendu (pseudo code)
var context = new 2dContext();
Y at-il des fonctionnalités comme ça? Je n'ai pas pu trouver quelque chose comme ça. Appel
var context = new CanvasRenderingContext2D();
qui est le nom de l'interface contexte de rendu par les spécifications HTML5 me donne juste des erreurs embarrassantes dans Firefox:
uncaught exception: [Exception... "Cannot convert WrappedNative to function" nsresult: "0x8057000d (NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN)" location: "JS frame :: http://localhost/ :: <TOP_LEVEL> :: line 25" data: no]
quel est le point du contexte alors? il peut y avoir une meilleure façon d'accomplir ce que vous voulez faire sans utiliser de contexte. Qu'est-ce qui vous a décidé à utiliser un contexte et quel est le besoin? –
Je suis en train de développer une implémentation basée sur un navigateur d'un jeu de plateau qui utilise du canvas pour dessiner son board. Une caractéristique importante est que le tableau est en fait plus grand que votre fenêtre d'affichage, donc vous devez être capable de faire le tour. Le panoramique nécessite des taux de rafraîchissement très élevés pour une apparence fluide et les implémentations ECMA Script + Canvas actuelles ne fournissent tout simplement pas cette performance. J'allais donc utiliser une approche de tamponnage qui dessinerait la totalité de la carte dans un contexte invisible, chaque fois que quelque chose changerait et écrirait des parties de ce contexte dans le canevas de la fenêtre pour augmenter (considérablement) les taux de rafraîchissement. –
Si vous n'avez besoin de rien * trop * de fantaisie/complexe, vous pouvez généralement vous passer d'utiliser/abuser du HTML au lieu de chercher, par exemple une solution SVG, ou autre chose que 'canvas'. –