0Pricing
JavaScript Academy · บทเรียน

การวาดรูปร่างและเส้นทาง

เรนเดอร์สี่เหลี่ยม ส่วนโค้ง และเส้นทางกำหนดเอง

การวาดรูปร่างและเส้นทาง เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

เริ่มด้วยสี่เหลี่ยม

สี่เหลี่ยมมีคำสั่งลัดเฉพาะ ได้แก่ fillRect, strokeRect และ clearRect แต่ละคำสั่งรับค่า (x, y, width, height)

ctx.fillStyle = "#2ecc71";
ctx.fillRect(10, 10, 120, 60);
ctx.strokeStyle = "#000";
ctx.strokeRect(10, 10, 120, 60);

การเริ่มเส้นทาง

สำหรับสิ่งอื่นที่ไม่ใช่สี่เหลี่ยม คุณต้องสร้างเส้นทาง เรียก beginPath() เพื่อเริ่มเส้นทางใหม่ เพิ่มส่วนของเส้น แล้วเรียก stroke() หรือ fill()

ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(180, 20);
ctx.stroke();

moveTo และ lineTo

moveTo(x, y) ยกปากกาแล้ววางไว้ที่ตำแหน่งนั้นโดยไม่วาด ส่วน lineTo(x, y) วาดเส้นตรงจากจุดปัจจุบันไปยังจุดใหม่

ctx.beginPath();
ctx.moveTo(30, 30);
ctx.lineTo(120, 90);
ctx.lineTo(30, 90);
ctx.stroke();

การปิดเส้นทาง

closePath() วาดเส้นกลับไปยังจุดเริ่มต้นเพื่อทำให้เส้นขอบสมบูรณ์ เหมาะสำหรับรูปหลายเหลี่ยม

ctx.beginPath();
ctx.moveTo(50, 50);
ctx.lineTo(150, 50);
ctx.lineTo(100, 130);
ctx.closePath();
ctx.stroke();

การเติมสีรูปร่าง

fill() เติมสีภายในเส้นทางปัจจุบันด้วย fillStyle คุณสามารถเติมสีและวาดเส้นขอบให้เส้นทางเดียวกันได้

ctx.beginPath();
ctx.moveTo(100, 20);
ctx.lineTo(160, 120);
ctx.lineTo(40, 120);
ctx.closePath();
ctx.fillStyle = "gold";
ctx.fill();
ctx.stroke();

การวาดวงกลมด้วย arc

arc(x, y, radius, startAngle, endAngle) วาดส่วนโค้งของวงกลม มุมจะมีหน่วยเป็นเรเดียน วงกลมเต็มรอบมีค่าตั้งแต่ 0 ถึง 2 * Math.PI

ctx.beginPath();
ctx.arc(100, 75, 50, 0, Math.PI * 2);
ctx.fillStyle = "#9b59b6";
ctx.fill();

ส่วนโค้งบางส่วนและชิ้นพาย

ใช้มุมเริ่มต้นและมุมสิ้นสุดเพื่อวาดรูปทรงลิ่ม แล้วใช้ lineTo ลากไปยังจุดศูนย์กลางเพื่อสร้างชิ้นพาย

ctx.beginPath();
ctx.moveTo(100, 75);
ctx.arc(100, 75, 50, 0, Math.PI / 2);
ctx.closePath();
ctx.fill();

เส้นโค้งกำลังสองและเบซิเยร์

quadraticCurveTo(cpx, cpy, x, y) และ bezierCurveTo(...) วาดเส้นโค้งเรียบโดยใช้จุดควบคุม

ctx.beginPath();
ctx.moveTo(20, 100);
ctx.quadraticCurveTo(100, 10, 180, 100);
ctx.stroke();

การกำหนดรูปแบบเส้น

ควบคุมลักษณะเส้นด้วย lineWidth, lineCap (ปลายตัด/กลม/เหลี่ยม), lineJoin (มุมแหลม/กลม/เอียง) และ setLineDash

ctx.lineWidth = 6;
ctx.lineCap = "round";
ctx.setLineDash([12, 6]);
ctx.beginPath();
ctx.moveTo(20, 60);
ctx.lineTo(200, 60);
ctx.stroke();

กฎการเติมสี

fill() รับค่า "nonzero" (ค่าเริ่มต้น) หรือ "evenodd" เพื่อกำหนดวิธีเติมสีเส้นทางย่อยที่ซ้อนทับกัน เหมาะสำหรับรูปร่างที่มีช่องว่าง

ctx.beginPath();
ctx.arc(100, 75, 50, 0, Math.PI * 2);
ctx.arc(100, 75, 25, 0, Math.PI * 2);
ctx.fill("evenodd"); // donut

การใช้การไล่ระดับสีเป็นสีเติม

สร้างการไล่ระดับสีด้วย createLinearGradient เพิ่มจุดหยุดของสี แล้วกำหนดให้กับ fillStyle

const g = ctx.createLinearGradient(0, 0, 200, 0);
g.addColorStop(0, "red");
g.addColorStop(1, "blue");
ctx.fillStyle = g;
ctx.fillRect(0, 0, 200, 100);

ตรวจสอบความเข้าใจ

ตรวจสอบความเข้าใจเกี่ยวกับเส้นทาง

สรุป: รูปร่างและเส้นทาง

ตอนนี้คุณสามารถวาดสี่เหลี่ยม สร้างเส้นทางด้วย beginPath/moveTo/lineTo/closePath วาดวงกลมด้วย arc เพิ่มเส้นโค้ง กำหนดรูปแบบเส้น และเติมสีด้วยสีหรือการไล่ระดับสีได้แล้ว ถัดไปคือรูปภาพและข้อความ

คำถามที่พบบ่อย

บทเรียน “การวาดรูปร่างและเส้นทาง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวาดรูปร่างและเส้นทาง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การวาดรูปร่างและเส้นทาง”

เรนเดอร์สี่เหลี่ยม ส่วนโค้ง และเส้นทางกำหนดเอง คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การวาดรูปร่างและเส้นทาง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม

ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่าบริบท Canvas
  2. การวาดรูปร่างและเส้นทาง
  3. การทำงานกับรูปภาพและข้อความ
  4. แอนิเมชันด้วย requestAnimationFrame
← กลับไปที่ JavaScript Academy