Color de relleno

facebook-svg gplus-svg twitter-svg

Podemos rellenar las formas geometricas dibujadas en el <canvas> utilizando el método fill(). Para los rectángulos podemos utilizar el método fillRect() y para el texto: el método fillText().
Previamente tenemos que especificar el estilo de relleno fillStyle, ya sea color, gradiente o patrón. Si no especificamos un estilo de relleno, este será por defecto negro.

  JavaScript Descripción Defecto
fillStyle context.fillStyle=color|gradient|pattern; Determina o devuelve el color, gradiente o patrón del relleno. #000;
fillRect() context.fillRect(x,y,anchura,altura); Dibuja y rellena un rectángulo desde un punto (x,y). #000;
fillText() context.fillText(text,x,y,maxWidth); Dibuja texto relleno con un color, gradiente o patrón previamente definido.
maxWidth es opcional. No se admite en Safari.
#000;
fill() context.fill(); Rellena una forma geométrica. #000;

Vea la chuleta con las propiedades y metodos() de canvas.

Veamos un ejemplo. A continuación queremos dibujar un triángulo. Utilizamos como siempre el método beginPath() para empezar el trazado. Utilizamos el método moveTo() para mover el "lapiz" hasta el origen de nuestro trazado; esbozamos dos de los tres lados utilizando el método lineTo(). No es necesario cerrar el trazado. Tampoco es necesario trazarlo.
Utilizamos fillStyle para definir el relleno ( amarillo en este caso ), y utlilizamos el método fill() para rellenar de color el triángulo.

Para rellenar de color un rectángulo es mucho más fácil. Sencillamente definimos el relleno con fillStyle y después utilizamos el método fillRect(x,y,anchura,altura) para rellenar el rectángulo.

Para texto utilizamos el método fillText(text,x,y,maxWidth). !OJO¡ el parámetro opcional maxWidth no se admite en Safari.

Su navegador no soporta canvas :( 

	var canvas = document.getElementById("lienzo");
		if (canvas && canvas.getContext) {
		var ctx = canvas.getContext("2d");
			if (ctx) {
				// dibujamos y rellenamos un trazado
				ctx.fillStyle = "#ff0";
				ctx.beginPath();
				ctx.moveTo(20, 20);
				ctx.lineTo(120, 20);
				ctx.lineTo(70, 100);
				ctx.fill();
				// dibujamos y rellenamos un rectángulo
				ctx.fillStyle = "#b00";
				ctx.fillRect(100,75,110,60);
				// rellenamos texto
				ctx.fillStyle = "#0b0";
				ctx.font="25pt Georgia";
				ctx.fillText("\241Hola Mundo!",20,120);
				}
		}
Su navegador no soporta canvas :(