การสร้างรูปทรงแบบ custom ด้วย HTML5 Canvas เราใช้การสร้างเส้นแบบ path จากนั้นปิดเส้นด้วยเมธอด closePath(). เราสามารถใช้เมธอด lineTo(), arcTo(), quadraticCurveTo() หรือ bezierCurveTo() ร่วมด้วยหลายๆแบบก็ได้ครับ.
ตัวอย่าง : แทคที่ใช้
ตัวอย่าง : การวาดรูปทรงแบบ Custom
var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); // begin custom shape context.beginPath(); context.moveTo(170, 80); context.bezierCurveTo(130, 100, 130, 150, 230, 150); context.bezierCurveTo(250, 180, 320, 180, 340, 150); context.bezierCurveTo(420, 150, 420, 120, 390, 100); context.bezierCurveTo(430, 40, 370, 30, 340, 50); context.bezierCurveTo(320, 5, 250, 20, 250, 50); context.bezierCurveTo(200, 5, 150, 20, 170, 80); // complete custom shape context.closePath(); context.lineWidth = 5; context.strokeStyle = 'blue'; context.stroke();
ผลลัพธ์ที่ได้คือ
การวาดรูปทรงสี่เหลี่ยม
การวาดรูปสี่เหลี่ยมใน HTML5 Canvas เราใช้เมธอด rect(x,y,width,height) โดยมีการกำหนดจุดเริ่มต้น แนวแกน x และ y พร้อมกับใส่ความกว้าง และ ความสูง.
var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); context.beginPath(); context.rect(188, 50, 200, 100); context.fillStyle = 'yellow'; context.fill(); context.lineWidth = 7; context.strokeStyle = 'black'; context.stroke();
ผลลัพธ์ที่ได้คือ
การวาดรูปทรงกลม
การสร้างรูปทรงวงกลมใน HTML5 Canvas เราจะใช้เมธอด arc() โดยกำหนดจุดกึ่งกลางแนวแกน x และ y จากนั้นใส่มุมเรเดียนเริ่มต้นที่ 0, มุมเรดีนยสิ้นสุดที่ 2 * PI, กำหนดการสร้างวนทวนเข้มเป็น false.
ตัวอย่าง : การวาดรูปทรงกลม
var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); var centerX = canvas.width / 2; var centerY = canvas.height / 2; var radius = 70; context.beginPath(); context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false); context.fillStyle = 'green'; context.fill(); context.lineWidth = 5; context.strokeStyle = '#003300'; context.stroke();
ผลลัพธ์ที่ได้คือ
ในส่วนของการสร้างรูปทรงครึ่งวงกลมใน HTML5 Canvas เราจะใช้เมธอด arc() เหมือนกับการสร้างวงกลม โดยกำหนดจุดกึ่งกลางแนวแกน x และ y จากนั้นใส่มุมเรเดียนเริ่มต้นที่ 0, มุมเรดีนยสิ้นสุดที่ PI, กำหนดการสร้างวนทวนเข้มเป็น false.
var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); context.beginPath(); context.arc(288, 75, 70, 0, Math.PI, false); context.closePath(); context.lineWidth = 5; context.fillStyle = 'red'; context.fill(); context.strokeStyle = '#550000'; context.stroke();
ผลลัพธ์ที่ได้คือ
อ้างอิง : ที่นี่
0 comments:
Post a Comment