Actualmente estoy buscando una manera de crear un contexto de representación 2D de canvas sin tener realmente un elemento canvas en la página. Pude crear dinámicamente un elemento canvas y ocultarlo, pero no quiero mostrar la imagen directamente al usuario en cualquier momento, por lo que no tiene sentido tener un elemento canvas en la página. Así que estoy básicamente en busca de algo que es similar aCrear contexto 2d * sin * canvas
var image = new Image();
pero sólo por contexto de representación 2D de la lona (pseudo código)
var context = new 2dContext();
¿Existe la funcionalidad de esta manera? No pude encontrar nada parecido. Llamando
var context = new CanvasRenderingContext2D();
que es el nombre de la interfaz contexto de representación de especificación HTML5 sólo me da errores torpes en 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]
¿Cuál es el punto del contexto, entonces? puede haber una mejor manera de lograr lo que quiere hacer sin usar un contexto. ¿Qué te hizo decidir usar un contexto y cuál es la necesidad? –
Estoy desarrollando una implementación basada en navegador de un juego de mesa que usa lienzo para dibujar su tablero. Una característica importante es que el tablero es realmente más grande que su ventana gráfica, por lo que debe ser capaz de desplazarse. La panoramización requiere velocidades de actualización muy altas para que se vean sin problemas y las implementaciones actuales de ECMA Script + Canvas simplemente no proporcionan ese rendimiento. Así que iba a utilizar un enfoque de almacenamiento en búfer que dibujaría toda la placa en un contexto invisible, cada vez que algo cambia y recortar partes de ese contexto en el lienzo de la ventana gráfica para (dramáticamente) aumentar las tasas de actualización. –
Si no necesita nada * demasiado * sofisticado/complejo, generalmente puede salirse con la suya usando/abusando de HTML en lugar de buscar, digamos una solución SVG, o cualquier otra cosa que no sea 'canvas 'para ese asunto. –