⊗jsSpCnvRc 263 of 294 menu

การวาดรูปสี่เหลี่ยมผืนผ้าผ่าน canvas บน JavaScript

ไม่จำเป็นต้องวาดสี่เหลี่ยมจัตุรัสและสี่เหลี่ยมผืนผ้า โดยใช้การผสมผสานของ moveTo, lineTo เสมอไป - มีวิธีที่ง่ายกว่าสำหรับการนี้ มาดูกัน

เมธอด strokeRect

เมธอด strokeRect(x, y, ความกว้าง, ความสูง) วาดโครงร่าง (contour) ของสี่เหลี่ยมผืนผ้า ณ จุดที่กำหนด พารามิเตอร์สองตัวแรกระบุ พิกัดของจุด ซึ่งจะเป็นมุมซ้ายบน ของสี่เหลี่ยมผืนผ้าที่วาด

ลองวาดสี่เหลี่ยมผืนผ้าด้วย strokeRect (สมมติว่า ctx มีอยู่แล้ว):

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.strokeRect(50, 50, 100, 75);

:

เมธอด fillRect

เมธอด fillRect(x, y, ความกว้าง, ความสูง) ทำงานเหมือนกับ strokeRect, เพียงแต่วาดสี่เหลี่ยมผืนผ้าที่เติมสี มาดูตัวอย่าง:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.fillRect(50, 50, 100, 75);

:

เมธอด rect

เมธอดต่อไปนี้ rect(x, y, ความกว้าง, ความสูง) ก็วาดสี่เหลี่ยมผืนผ้าเช่นกัน แต่ สี่เหลี่ยมผืนผ้านี้จะปรากฏให้เห็นก็ต่อเมื่อ ใช้เมธอด stroke หรือ fill ในกรณีแรกจะเป็นโครงร่าง และในกรณีที่สอง - เป็นรูปทรงที่เติมสี

ลองวาดโครงร่างด้วย rect:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.rect(50, 50, 100, 75); ctx.stroke();

:

และตอนนี้ลองวาดรูปทรงที่เติมสี:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.rect(50, 50, 100, 75); ctx.fill();

:

เมธอด clearRect

เมธอดต่อไปนี้ clearRect(x, y, ความกว้าง, ความสูง) ทำงานเหมือนยางลบ ทำความสะอาดพื้นที่สี่เหลี่ยมผืนผ้าและทำให้ เนื้อหาภายในโปร่งใสโดยสิ้นเชิง

ลองวาดสี่เหลี่ยมจัตุรัสด้วย fillRect และลบบางส่วนของมันด้วย clearRect:

<canvas width="200" height="200" style="background: #f4f4f4;"></canvas> let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('2d'); ctx.fillRect(50, 50, 100, 100); ctx.clearRect(75, 75, 50, 50);

:

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ