Como preencher todo o HTML5 <canvas>
com uma cor.
Já vi algumas soluções como essa para mudar a cor do fundo usando CSS mas essa não é uma boa solução já que o canvas fica transparente, a única coisa que muda é a cor do espaço que ocupa.
Outra é criar algo com a cor dentro da tela, por exemplo, um retângulo ( veja aqui ), mas ainda não preenche toda a tela com a cor (caso a tela seja maior que a forma que criamos).
Existe uma solução para preencher toda a tela com uma cor específica?
javascript
html
canvas
Enve
fonte
fonte
Você pode alterar o plano de fundo da tela fazendo o seguinte:
<head> <style> canvas { background-color: blue; } </style> </head>
fonte
let canvas = document.getElementById('canvas'); canvas.setAttribute('width', window.innerWidth); canvas.setAttribute('height', window.innerHeight); let ctx = canvas.getContext('2d'); //Draw Canvas Fill mode ctx.fillStyle = 'blue'; ctx.fillRect(0,0,canvas.width, canvas.height);
* { margin: 0; padding: 0; box-sizing: border-box; } body { overflow: hidden; }
<canvas id='canvas'></canvas>
fonte
Quer saber, existe uma biblioteca inteira para gráficos de tela. Ele é chamado de p5.js. Você pode adicioná-lo com apenas uma linha em seu elemento head e um arquivo sketch.js adicional.
Faça isso com suas tags html e body primeiro:
<html style="margin:0 ; padding:0"> <body style="margin:0 ; padding:0">
Adicione isto à sua cabeça:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.6.1/p5.js"></script> <script type="text/javascript" src="sketch.js"></script>
O arquivo sketch.js
function setup() { createCanvas(windowWidth, windowHeight); background(r, g, b); }
fonte
p5.js
é340kB
minimizado e compactado com gzip! Eu diria que esta página contém algumas opções um pouco mais leves ..Não precisamos acessar o contexto da tela.
Implementando hednek em JS puro você obteria
canvas.setAttribute('style', 'background-color:#00F8')
. Mas meu método preferido requer a conversão do caso kabab em camelCase .fonte