HTML Canvas ma’lumotnomasi


<canvas> elementi HTML sahifasida bitmapped hudud belgilaydi.

Canvas API JavaScript’ga canvas’da grafika chizish imkonini beradi.

Canvas API shakllar, chiziqlar, egri chiziqlar, to‘rtburchaklar, matn va tasvirlarni ranglar, aylanishlar, shaffofliklar va boshqa piksel manipulyatsiyalari bilan chizishi mumkin.

HTML sahifasining istalgan joyiga <canvas> tegi bilan canvas elementi qo‘shishingiz mumkin:

Misol

<canvas id="myCanvas" width="300" height="150"></canvas>
O‘zingiz sinab ko‘ring »

<canvas> elementiga HTML DOM metodi getElementById() orqali murojaat qilishingiz mumkin.

Canvas’da chizish uchun 2D context obyektini yaratishingiz kerak:

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");
ULASHISH

Eslatma

HTML <canvas> elementining o‘zida chizish qobiliyati yo‘q.

Har qanday grafikani chizish uchun JavaScript’dan foydalanishingiz kerak.

getContext() metodi chizish uchun vositalar (metodlar) bilan obyekt qaytaradi.


Canvas’ga chizish

2D kontekst yaratilgandan so‘ng, canvas’da chizishingiz mumkin.

fillRect() metodi yuqori chap burchagi 20,20 pozitsiyasida joylashgan qora to‘rtburchak chizadi. To‘rtburchak 150 piksel kenglikda va 100 piksel balandlikda.

Misol

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");

ctx.fillRect(20, 20, 150, 100);
O‘zingiz sinab ko‘ring »

Ranglardan foydalanish

fillStyle xususiyati chizma obyektining to‘ldirish rangini belgilaydi:

Misol

const myCanvas = document.getElementById("myCanvas");
const ctx = myCanvas.getContext("2d");

ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);
O‘zingiz sinab ko‘ring »

Shuningdek, document.createElement() metodi bilan yangi <canvas> elementi yaratab, uni mavjud HTML sahifasiga qo‘shishingiz mumkin:

Misol

const myCanvas = document.createElement("canvas");
document.body.appendChild(myCanvas);
const ctx = myCanvas.getContext("2d");

ctx.fillStyle = "red";
ctx.fillRect(20, 20, 150, 100);
O‘zingiz sinab ko‘ring »


Paths

Canvasda chizishning odatiy usuli quyidagicha:

  1. Path boshlash - beginPath()
  2. Nuqtaga o‘tish - moveTo()
  3. Path ichida chizish - lineTo()
  4. Path chizish - stroke()

Misol

const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.stroke();
O‘zingiz sinab ko‘ring »

Canvas API bo‘yicha to‘liq ma’lumotnoma

Ushbu ma’lumotnoma canvas’da matn, chiziqlar, to‘rtburchaklar, doiralar, rasmlar va boshqalarni chizish uchun ishlatiladigan getContext("2d") Obyektining barcha Xususiyatlari va Metodlarini qamrab oladi.

Chizish metodlari

Canvas’da to‘g‘ridan-to‘g‘ri chizish uchun atigi 3 ta metod mavjud:

Metod Tavsif
fillRect() "To‘ldirilgan" to‘rtburchak chizadi
strokeRect() To‘rtburchak chizadi (to‘ldirmasdan)
clearRect() To‘rtburchak ichidagi belgilangan piksellarni tozalaydi

Yo‘l (path) metodlari

Metod Tavsif
beginPath() Yangi yo‘l (path) boshlaydi yoki joriy yo‘lni qayta o‘rnatadi
closePath() Joriy nuqtadan boshigacha bo‘lgan yo‘lga chiziq qo‘shadi
isPointInPath() Belgilangan nuqta joriy yo‘lda bo‘lsa, true qiymatini qaytaradi
moveTo() Yo‘lni canvas’dagi nuqtaga ko‘chiradi (chizmasdan)
lineTo() Yo‘lga chiziq qo‘shadi
fill() Joriy yo‘lni to‘ldiradi
rect() Yo‘lga to‘rtburchak qo‘shadi
stroke() Joriy yo‘lni chizadi
 Aylanalar va egri chiziqlar
bezierCurveTo() Yo‘lga kubik Bezier egri chizig‘ini qo‘shadi
arc() Yo‘lga yoy/egri chiziq (aylana yoki aylana qismlari) qo‘shadi
arcTo() Yo‘lga ikkita tangens orasiga yoy/egri chiziq qo‘shadi
quadraticCurveTo() Yo‘lga kvadratik Bezier egri chizig‘ini qo‘shadi


Text

Method/Prop Tavsif
direction Matn chizish uchun ishlatiladigan yo‘nalishni o‘rnatadi yoki qaytaradi
fillText() Canvas’ga "to‘ldirilgan" matn chizadi
font Matn tarkibi uchun shrift xususiyatlarini o‘rnatadi yoki qaytaradi
measureText() Belgilangan matnning kengligini o‘z ichiga olgan obyektni qaytaradi
strokeText() Canvas’ga matn chizadi
textAlign Matn mazmuni uchun tekislashni o‘rnatadi yoki qaytaradi
textBaseline Matn chizishda ishlatiladigan matnning asosiy chizig‘ini o‘rnatadi yoki qaytaradi

Ranglar, uslublar va soyalar

Method/Property Tavsif
addColorStop() Gradient obyektidagi ranglar va to‘xtash joylarini belgilaydi
createLinearGradient() Chiziqli gradient yaratadi (canvas kontentida ishlatish uchun)
createPattern() Belgilangan elementni belgilangan yo‘nalishda takrorlaydi
createRadialGradient() Radial/aylanma gradient yaratadi (canvas kontentida ishlatish uchun)
fillStyle Chizmani to‘ldirish uchun ishlatiladigan rang, gradient yoki naqshni o‘rnatadi yoki qaytaradi
lineCap Chiziq uchun so‘nggi qopqoqlar uslubini o‘rnatadi yoki qaytaradi
lineJoin Ikki chiziq uchrashganda yaratilgan burchak turini o‘rnatadi yoki qaytaradi
lineWidth Joriy chiziq kengligini o‘rnatadi yoki qaytaradi
miterLimit Maksimal miter uzunligini o‘rnatadi yoki qaytaradi
shadowBlur Soyalar uchun xiralik darajasini o‘rnatadi yoki qaytaradi
shadowColor Soyalar uchun ishlatiladigan rangni o‘rnatadi yoki qaytaradi
shadowOffsetX Shakldan soyaning gorizontal masofasini o‘rnatadi yoki qaytaradi
shadowOffsetY Shakldan soyaning vertikal masofasini o‘rnatadi yoki qaytaradi
strokeStyle Chiziqlar uchun ishlatiladigan rang, gradient yoki naqshni o‘rnatadi yoki qaytaradi

Transformations

Metod Tavsif
scale() Joriy chizmani kattalashtiradi yoki kichiklashtiradi
rotate() Joriy chizmani aylantiradi
translate() Canvas’dagi (0,0) nuqtasini boshqa joyga ko‘chiradi
transform() Chizma uchun joriy transformatsiya matritsasini almashtiradi
setTransform() Joriy transformatsiyani birlik matritsaga qaytaradi. So‘ngra transform()’ni ishga tushiradi

Rasm chizish

Metod Tavsif
drawImage() Tuvalga rasm, kanvas yoki video chizadi

ImageData obyekti / Piksellar bilan ishlash

Method/Property Tavsif
createImageData() Yangi, bo‘sh ImageData obyektini yaratadi
getImageData() Tuvaldagi ko‘rsatilgan to‘rtburchak uchun piksel ma’lumotlarini nusxalaydigan ImageData obyektini qaytaradi
ImageData.data Belgilangan ImageData obyektining tasvir ma’lumotlarini o‘z ichiga olgan obyektni qaytaradi
ImageData.height ImageData obyektining balandligini qaytaradi
ImageData.width ImageData obyektining kengligini qaytaradi
putImageData() Rasm ma’lumotlarini (belgilangan ImageData obyektidan) canvas’ga qaytarib joylaydi

Compositing

Xususiyat Tavsif
globalAlpha Chizmaning joriy alfa yoki shaffoflik qiymatini o‘rnatadi yoki qaytaradi
globalCompositeOperation Mavjud rasmga yangi rasm qanday chizilganligini belgilaydi yoki qaytaradi

Boshqa metodlar

Metod Tavsif
clip() Asl tuvaldan istalgan shakl va o‘lchamdagi hududni qirqadi
save() Joriy chizma kontekstining holatini va uning barcha atributlarini saqlaydi
restore() Oldin saqlangan holat va atributlarni tiklaydi
createEvent()  
getContext()  
toDataURL()  

Standart xossalar va hodisalar

Canvas obyekti shuningdek standart xususiyatlar va hodisalarni qo‘llab-quvvatlaydi.


Tegishli sahifalar

Canvas darsi: Canvas Tutorial

HTML darsligi: HTML5 Canvas

HTML ma’lumotnomasi: HTML <canvas> tegi


Brauzerlarda qo‘llab-quvvatlash

<canvas> elementi HTML5 standarti (2014) hisoblanadi.

Canvas API barcha zamonaviy brauzerlarda qo‘llab-quvvatlanadi:

Chrome Edge Firefox Safari Opera IE
Ha Ha Ha Ha Ha 9-11

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!