Suorakulmioiden piirtäminen canvasin avulla JavaScriptillä

Neliöitä ja suorakulmioita ei välttämättä tarvitse piirtää käyttämällä moveTo, lineTo -yhdistelmiä - niitä varten on olemassa yksinkertaisempia menetelmiä. Käydään ne läpi.

strokeRect-metodi

strokeRect(x, y, leveys, korkeus)-metodi piirtää suorakulmion ääriviivat annettuun pisteeseen. Kaksi ensimmäistä parametria määrittävät pisteen koordinaatit, jossa piirretyn suorakulmion vasen ylänurkka sijaitsee.

Piirretään suorakulmio käyttämällä strokeRect -metodia (oletamme, että ctx on jo määritetty):

html<canvas width="200" height="200" style="background: #f4f4f4;"></canvas>
javascriptlet canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');

ctx.strokeRect(50, 50, 100, 75);

Результат:

Задание 1

fillRect-metodi

fillRect(x, y, leveys, korkeus) -metodi toimii samoin kuin strokeRect, mutta piirtää täytetyn suorakulmion. Katsotaan esimerkkiä:

html<canvas width="200" height="200" style="background: #f4f4f4;"></canvas>
javascriptlet canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');

ctx.fillRect(50, 50, 100, 75);

Результат:

Задание 2

rect-metodi

Seuraava rect(x, y, leveys, korkeus)-metodi piirtää myös suorakulmion. Mutta tämä suorakulmio tulee näkyviin vasta kun käytetään stroke- tai fill-metodia. Ensimmäisessä tapauksessa saat ääriviivat ja toisessa - täytetyn muodon.

Piirretään ääriviivat käyttämällä rect-metodia:

html<canvas width="200" height="200" style="background: #f4f4f4;"></canvas>
javascriptlet canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');

ctx.rect(50, 50, 100, 75);
ctx.stroke();

Результат:

Piirretään nyt täytetty muoto:

html<canvas width="200" height="200" style="background: #f4f4f4;"></canvas>
javascriptlet canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');

ctx.rect(50, 50, 100, 75);
ctx.fill();

Результат:

Задание 3
Задание 4

clearRect-metodi

Seuraava clearRect(x, y, leveys, korkeus)-metodi toimii kuin pyyhekumi, tyhjentää suorakulmaisen alueen ja tekee sisällöstä täysin läpinäkyvän.

Piirretään pieni neliö käyttämällä fillRect ja pyyhitään osa siitä clearRect-metodilla:

html<canvas width="200" height="200" style="background: #f4f4f4;"></canvas>
javascriptlet canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');

ctx.fillRect(50, 50, 100, 100);
ctx.clearRect(75, 75, 50, 50);

Результат:

Задание 5