Imagens do Fundo - JavaScript
Em vez de usar uma cor específica para preencher formas, como retângulos, podemos utilizar imagens. Para isso, o contexto do elemento canvas possui a função createPattern()
: a imagem se repete para preencher todo o espaço da formarepeat
: a imagem se repete apenas na horizontalrepeat-x
: a imagem se repete apenas na verticalrepeat-y
: a imagem não se repeteno-repeat
Vamos desenhar um retângulo e exibir nele uma imagem:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Exemplo Canvas </title>
</head>
<body>
<canvas id="canvas" width="400" height="250"></canvas>
<script>
const canvas = document.getElementById("canvas");
const context = canvas.getContext("2d");
const img = new Image();
img.src = "forest.png";
img.onload = function() {
const pattern = context.createPattern(img, "repeat");
context.fillStyle = pattern;
context.fillRect(10, 10, 200, 200);
context.strokeRect(10, 10, 200, 200);
};
</script>
</body>
</html>
Para usar uma imagem, é necessário criar um elemento Image
const img = new Image();
img.src = "forest.png";
Neste exemplo, assume-se que o arquivo de imagem forest.png
img.onload
img.onload = function() {
const pattern = context.createPattern(img, "repeat");
context.fillStyle = pattern;
context.fillRect(10, 10, 200, 200);
context.strokeRect(10, 10, 200, 200);
};
O método createPattern()
context.fillStyle = pattern
