Цртање правоугаоника преко canvas у JavaScript-у

Квадрате и правоугаонике није неопходно цртати помоћу комбинација moveTo, lineTo - за то постоје и једноставније методе. Хајде да их размотримо.

Метода strokeRect

Метода strokeRect(x, y, ширина, висина) црта контур правоугаоника на задатој позицији. Прва два параметра одређују координате тачке у којој ће се налазити горњи леви угао нацртаног правоугаоника.

Хајде да нацртамо правоугаоник помоћу strokeRect (под претпоставком да ctx већ постоји):

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

Метода fillRect(x, y, ширина, висина) ради на исти начин као и strokeRect, али црта попуњени правоугаоник. Погледајмо на примеру:

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

Следећа метода rect(x, y, ширина, висина) такође црта правоугаоник. Али овај правоугаоник ће постати видљив тек кад се примени метода stroke или fill. У првом случају биће контур, а у другом - попуњена фигура.

Хајде да нацртамо контур помоћу rect:

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();

Результат:

А сада хајде да нацртамо попуњену фигуру:

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

Следећа метода clearRect(x, y, ширина, висина) делује као гумица, бришући правоугаону област и чинећи садржај потпуно транспарентним.

Хајде да нацртамо квадрат помоћу fillRect и обришемо његов део помоћу clearRect:

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