Jak wypełnić cały HTML5 <canvas>
jednym kolorem.
Widziałem takie rozwiązania, jak to, aby zmienić kolor tła za pomocą CSS, ale nie jest to dobre rozwiązanie, ponieważ płótno pozostaje przezroczyste, jedyną rzeczą, która się zmienia, jest kolor zajmowanej przestrzeni.
Innym jest stworzenie czegoś z kolorem wewnątrz płótna, na przykład prostokąta ( patrz tutaj ), ale nadal nie wypełnia to całego płótna kolorem (w przypadku, gdy płótno jest większe niż utworzony przez nas kształt).
Czy istnieje rozwiązanie, aby wypełnić całe płótno określonym kolorem?
źródło
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>
źródło
Możesz zmienić tło płótna, wykonując następujące czynności:
<head> <style> canvas { background-color: blue; } </style> </head>
źródło
Wiesz co, jest cała biblioteka grafik na płótnie. Nazywa się p5.js. Możesz go dodać za pomocą pojedynczej linii w elemencie head i dodatkowego pliku sketch.js.
Zrób to najpierw z tagami HTML i body:
<html style="margin:0 ; padding:0"> <body style="margin:0 ; padding:0">
Dodaj to do swojej głowy:
<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>
Plik sketch.js.
function setup() { createCanvas(windowWidth, windowHeight); background(r, g, b); }
źródło
p5.js
jest340kB
zminiaturyzowany i spakowany do gzip! Powiedziałbym, że ta strona zawiera nieco lżejsze opcje ...