Cómo dibujar en un lienzo HTML5
Paso 1: Configurar el lienzo en HTML, crear una referencia y obtener el objeto de contexto
El lienzo se define en HTML a través de la etiqueta
Ingrese la etiqueta
En el documento JavaScript, cree una variable que pueda usarse en lugar de "can1" cuando escribiendo guiones ". ".Aquí, llamamos a la variable "myCanvas" y usamos ?getElementById?var?myCanvas?=?document.getElementById("can1");
El objeto CanvasRenderingContext2D del lienzo contiene todas las operaciones en el comando del lienzo. Aquí, "can1" se recupera del objeto de contexto. Llame a esta variable "myContext" var?myContext?=?myCanvas.getContext("2d");
Paso 2. : Dibuje rectángulos, líneas, bezier. curvas, círculos y formas
Es muy fácil dibujar líneas simples en el lienzo. Utilice el método "moveTo" de JavaScript para establecer las coordenadas en las que comienza la línea. Luego, utilice otro método. Hay varios métodos disponibles en el segundo paso, cada uno de los cuales puede ayudar a representar una forma de línea diferente, ya sea una línea recta, una curva de Bézier o un arco. Para fusionar las líneas en una forma, puede usar "beginPath". " y " closePath " para cerrar la línea. Después de especificar la apariencia deseada, puede utilizar el método de "relleno" para aplicar el color y el método de "trazo" para realizar la representación de líneas y formas.
Aplicar algunos estilos básicos Aquí, el fondo del lienzo se establece en negro (#000) usando la propiedad ?fillStyle? Luego, el color de la línea se establece en blanco (#fff) usando el método ?fillRect? lineWidth? propiedad para establecer el grosor de la línea en 3 píxeles
//"Especifique un fondo negro y una línea blanca con un grosor de 3 píxeles. #000';
myContext.strokeStyle=?#fff';
myContext.fillRect(0,0,500,500);
myContext.lineWidth?=?3 ;myContext.fill();
En los pasos siguientes, continuará construyendo sobre este lienzo negro de 500×500.
Ahora, prepárate para dibujar una línea blanca sobre la superficie negra del lienzo. Comience con una línea recta.
Utilice el método "moveTo" para establecer el punto inicial de la línea recta y utilice el método "lineTo" para establecer el punto final de la línea recta.
Estos métodos toman dos números como parámetros. El primer número representa la coordenada del eje x, o el número de píxeles en el lado izquierdo del lienzo definido por esa coordenada. El segundo número es la coordenada del eje Y medida desde arriba.
//"Dibuja una línea recta que comienza en la esquina superior izquierda del lienzo y termina en la esquina inferior derecha.
myContext.moveTo(0,0);
myContext.lineTo(500,500);
myContext.stroke();
Para dibujar una curva de Bézier cuadrática, utilice el método "quadraticCurveTo", que requiere dos coordenadas: el punto de control y el punto final de la curva. //Dibuja una curva en picado a lo ancho del lienzo.
myContext.moveTo(0,0);
myContext.quadraticCurveTo(0, 500,500,250);
myContext.stroke();
Para dibujar una curva de Bézier cúbica, utilice el método ?bezierCurveTo?, que requiere tres coordenadas: dos puntos de control y un punto final de la curva. /? Dibuja una curva Bézier en forma de V en todo el lienzo.
myContext.moveTo(0,0);
myContext.bezierCurveTo(500, ? 820, ?0, ?500, ?500, ?0);
myContext.stroke();
Para crear un círculo, utilice el método ?arc: al configurar el origen para dibujar el contorno del círculo, asegúrese de configurar el método "moveTo?" bar La posición de la ruta del mapa; de lo contrario, el círculo tendría una "cola" que apunta a las coordenadas "moveTo?". //"Dibuja un círculo a lo ancho del lienzo".
myContext.moveTo(500,250);
myContext.arc(250,250,250,0,Math.PI*2,true);
myContext.stroke() ;
Se puede dibujar una forma 2D a partir de cualquier combinación de las líneas anteriores cerrando varias líneas en llamadas "beginPath" y "closePath". Luego, toda la forma se puede rellenar usando "relleno". El estilo de trazo establecido anteriormente creará líneas blancas que, cuando se combinen con el rojo (#f00) en el cuerpo, heredarán el aspecto de dos colores de la forma. //"Dibuja un diamante rojo que se extiende por todo el lienzo.
myContext.fillStyle?=?' #f00';
myContext.fillStyle?=?#f00'; p> p>
myContext.beginPath();
myContext.moveTo(250,0);
myContext.lineTo(0,250);
myContext.lineTo(250,500);
myContext.lineTo(500,250);
myContext.closePath();
myContext.fill();
myContext.fillStyle.=?fill();
Paso 3: Mostrar la imagen de mapa de bits
Imágenes de mapa de bits (como archivos .jpg, .png y .gif ) se puede colocar en el lienzo, incluso puede escalarlo y recortarlo en código sin tocar el archivo original. Para agregar una imagen de mapa de bits, especifique el URI de la imagen y luego use el método "drawImage" para especificar su posición en el lienzo. Los parámetros pueden escalar la imagen a un tamaño específico o incluso mostrar solo un fragmento de la imagen, lo cual es útil para cosas como desplazar fondos o mostrar subpantallas dinámicamente usando una tabla de subpantallas.
Para dibujar un mapa de bits en la pantalla. Imagen sin ninguna modificación, especifique las coordenadas x e y utilizadas en la esquina superior izquierda del lienzo // Dibuje la imagen en la esquina superior izquierda del lienzo (0, 0).
var?myImg?=?new?Image();
myImg.src?=?' myImageFile.png';
myContext.drawImage(myImg) ,?0,?0)
Para escalar la imagen, puedes agregar dos números al final para representar el ancho y el alto. Si le ayuda, piense en los dos últimos números como "derecha" y "abajo", no como "ancho" y "alto". //Escale la imagen para que abarque todo el lienzo de 500 x 500.
var?myImg?=?new?Image();
myImg.src?=?' myImageFile.png';
myContext.drawImage(myImg) ,?0,?0,?500,?500)
Para usar solo una porción de la imagen, necesita definir dos áreas rectangulares y se agregan nueve parámetros más al llamar a "drawImage (sección?" Un parámetro es un objeto de imagen de JavaScript). Los primeros cuatro números pasados representan las porciones de la imagen. Los últimos cuatro números representan el área del lienzo donde se mostrará el sector.