JavaScript орқали canvas воситасида тўртбурчаклар чизиш

Квадрат ва тўртбурчакларни 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