API Canvas
- หน้าก่อนหน้า HTML Style
- หน้าต่อไป API Console
องค์ประกอบ <canvas> กำหนดพื้นที่บิตแมพ์ในหน้าเว็บ HTML
API Canvas อนุญาตให้ JavaScript วาดกราฟิกบนแผ่นภาพ
API Canvas สามารถวาดรูปทรงกลม、เส้น、เส้นโค้ง、กล่อง、ข้อความและรูปภาพ รวมถึงสี、การหมุน、ความโปร่งและการปฏิบัติต่อพิกเซลต่างๆ
เพิ่ม Canvas ใน HTML
คุณสามารถใช้ตามแบบ <canvas> มาเพิ่มองค์ประกอบ canvas ในตำแหน่งที่ต้องการบนหน้าเว็บ HTML ได้:
ตัวอย่าง
<canvas id="myCanvas" width="300" height="150"></canvas>
วิธีการเข้าถึงองค์ประกอบ Canvas
คุณสามารถใช้วิธี HTML DOM หรือ getElementById() มาเข้าถึงองค์ประกอบ <canvas> ได้:
const myCanvas = document.getElementById("myCanvas");
ถ้าคุณต้องการวาดบนกราฟิต คุณจำเป็นต้องสร้าง 2D context object
const ctx = myCanvas.getContext("2d");
บันทึก
ตัวองค์ประกอบ HTML <canvas> มีฟีเจอร์วาดเส้น
คุณจำเป็นต้องใช้ JavaScript เพื่อวาดกราฟิตใดๆ
วิธี getContext() คืนค่าองค์ประกอบที่มีเครื่องมือวาด (วิธี)
วาดบนกราฟิต
หลังจากที่สร้าง 2D context object คุณจะสามารถวาดบนกราฟิตได้
วิธี fillRect() ด้านล่างวาดสี่เหลี่ยมผากดำ ที่มีจุดมุมบนขวาของมันอยู่ที่ตำแหน่ง 20,20 ขนาดกว้าง 150 พิกเซล สูง 100 พิกเซล
ตัวอย่าง
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
ใช้สี
fillStyle ค่านี้ตั้งค่าสีที่ใช้สำหรับการทิ้งสีของวัตถุวาด
ตัวอย่าง
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
คุณยังสามารถใช้วิธี document.createElement() เพื่อสร้างองค์ประกอบใหม่ของ <canvas> และเพิ่มองค์ประกอบนี้เข้าไปในหน้า HTML ที่มีอยู่:
ตัวอย่าง
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
เส้นทาง
วิธีที่ตั้งตารางในการวาดบนหน้ากราฟิตคือ:
- เริ่มเส้นทาง - beginPath()
- ย้ายไปยังจุด - moveTo()
- วาดในเส้นทาง - lineTo()
- วาดเส้นทาง - stroke()
ตัวอย่าง
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();
สี รูปแบบและเงา
คุณสมบัติ | คำอธิบาย |
---|---|
fillStyle | ตั้งค่าหรือคืนค่าสีสำหรับการทิ้งสีในการวาด |
strokeStyle | ตั้งค่าหรือคืนค่าสีสำหรับเส้นทางสีหรือสีส่องแสงหรือตราสี |
shadowColor | ตั้งค่าหรือคืนค่าสีที่ใช้สำหรับเงา |
shadowBlur | ตั้งค่าหรือคืนค่าระดับที่เมาะคลุมเงา |
shadowOffsetX | ตั้งค่าหรือกู้ค่าระยะทางตั้งแต่เงาไปยังรูปที่มีเงา (ตามทิศทางน้ำเงิน) |
shadowOffsetY | ตั้งค่าหรือกู้ค่าระยะทางตั้งแต่เงาไปยังรูปที่มีเงา |
วิธี | คำอธิบาย |
---|---|
createLinearGradient() | สร้างทางเทียมเส้นทาง (สำหรับสิ่งที่วาดบนแผ่นภาพ) |
createPattern() | ซ้ำสิ่งที่กำหนดในทิศทางที่กำหนด |
createRadialGradient() | สร้างทางเทียมทรงกลม/ทรงกลม (สำหรับสิ่งที่วาดบนแผ่นภาพ) |
addColorStop() | กำหนดสีและตำแหน่งหยุดของสีในเปรียบเทียบ |
รูปแบบของสาย
คุณสมบัติ | คำอธิบาย |
---|---|
lineCap | ตั้งค่าหรือกู้ค่ารูปแบบของท้ายของเส้น |
lineJoin | ตั้งค่าหรือกู้ค่ารูปแบบของมุมที่เกิดขึ้นเมื่อเส้นทั้งสองบนเส้นตรงทั้งสองที่ทั้งสองเส้นขนาน |
lineWidth | ตั้งค่าหรือกู้ค่าความกว้างของเส้น |
miterLimit | ตั้งค่าหรือกู้ค่าความยาวที่สูงสุดของส่วนเศษ |
สี่เหลี่ยม
วิธี | คำอธิบาย |
---|---|
rect() | สร้างสี่เหลี่ยม |
fillRect() | วาดสี่เหลี่ยมที่ปิดเส้น |
strokeRect() | วาดสี่เหลี่ยม (ไม่ปิดเส้น) |
clearRect() | ลบพิกเซลที่อยู่ในสี่เหลี่ยมของที่กำหนด |
เส้นทาง
วิธี | คำอธิบาย |
---|---|
fill() | ปิดกราฟิก (เส้นทาง) |
stroke() | ในทางปฏิบัติเริ่มวาดเส้นทางที่กำหนด |
beginPath() | เริ่มเส้นทาง หรือกำหนดเส้นทางปัจจุบัน |
moveTo() | ย้ายเส้นทางไปยังจุดที่กำหนดบนแผ่นภาพ โดยไม่สร้างเส้น |
closePath() | สร้างเส้นทางจากจุดปัจจุบันกลับไปยังจุดเริ่มต้น |
lineTo() | เพิ่มจุดใหม่และสร้างเส้นจากจุดนี้ไปยังจุดที่กำหนดล่าสุดบนแผ่นภาพ |
clip() | ตัดขอบเขตของแผ่นภาพที่มีทรงทางและขนาดเท่าใดๆ |
quadraticCurveTo() | สร้างเส้นทางเบซเซอร์แบบสองจุด |
bezierCurveTo() | สร้างเส้นทางเบซเซอร์แบบสามจุด |
arc() | สร้างทางเวลาหรือเส้นทาง (ใช้สำหรับสร้างวงกลมหรือส่วนหนึ่งของวงกลม) |
arcTo() | สร้างทางเวลาหรือเส้นทางที่อยู่ระหว่างเส้นตรงทั้งสอง |
isPointInPath() | ถ้าจุดที่กำหนดอยู่ในเส้นทางปัจจุบัน ก็กลับค่าที่เป็น true และไม่ก็กลับค่าที่เป็น false |
การเปลี่ยนแปลง
วิธี | คำอธิบาย |
---|---|
scale() | เพิ่มหรือลดขนาดของกราฟิกที่ปัจจุบัน |
rotate() | การหมุนกราฟิกที่ปัจจุบัน |
translate() | ทำการแปลงให้ตำแหน่ง (0,0) บนแผ่นภาพ |
transform() | แทนที่ตารางการเปลี่ยนแปลงที่ใช้กับการวาดในตอนนี้ |
setTransform() | กำหนดการเปลี่ยนแปลงให้เป็นหน่วยตารางความเป็นส่วนหนึ่ง แล้วปฏิบัติ transform()。 |
ข้อความ
คุณสมบัติ | คำอธิบาย |
---|---|
font | ตั้งค่าหรือกู้ค่าค่าที่ใช้กับรูปแบบตัวอักษรของข้อความ |
textAlign | ตั้งค่าหรือกู้ค่าการจัดลำดับของข้อความของของที่กำลังใช้อยู่ |
textBaseline | ตั้งค่าหรือกลับคืนต้นตายของข้อความที่ใช้ในการวาดข้อความ |
วิธี | คำอธิบาย |
---|---|
fillText() | วาดข้อความ 'ทาย' บน Canvas |
strokeText() | วาดข้อความบน Canvas (ไม่มีการทาย) |
measureText() | กลับคืนโอปเปอร์เรชั่นที่มีความกว้างของข้อความที่กำหนด |
การวาดภาพ
วิธี | คำอธิบาย |
---|---|
drawImage() | วาดภาพบน Canvas ภาพหรือวิดีโอ |
การปฏิบัติการพิกเซล
คุณสมบัติ | คำอธิบาย |
---|---|
width | กลับคืนความกว้างของ ImageData |
height | กลับคืนความสูงของ ImageData |
data | กลับคืนโอปเปอร์เรชั่นที่มี ImageData ที่กำหนด |
วิธี | คำอธิบาย |
---|---|
createImageData() | สร้าง ImageData ที่ว่าง |
getImageData() | กลับคืน ImageData ที่ทำสำเนาของข้อมูลพิกเซลของสี่เหลี่ยมผืนผ้าที่กำหนดบน Canvas |
putImageData() | จัดให้ภาพข้อมูลรูปภาพ (จาก ImageData ที่กำหนด) กลับมาบน Canvas |
การผสม
คุณสมบัติ | คำอธิบาย |
---|---|
globalAlpha | ตั้งค่าหรือกลับคืนค่า alpha หรือความโปร่งใสของการวาด |
globalCompositeOperation | ตั้งค่าหรือกลับคืนวิธีที่จะวาดภาพใหม่เข้าไปบนภาพที่มีอยู่แล้ว |
อื่นๆ
วิธี | คำอธิบาย |
---|---|
save() | บันทึกสถานะของโครงสร้างปัจจุบัน |
restore() | กลับคืนสถานะและคุณสมบัติของทางแบบที่เคยบันทึกไว้ |
createEvent() | |
getContext() | |
toDataURL() |
หน้าที่เกี่ยวข้อง
ความรู้ HTML:Canvas HTML5
ความรู้ HTML รูปภาพ:HTML Canvas ความรู้
คู่มือ HTML:HTML <canvas> แบตทิก
- หน้าก่อนหน้า HTML Style
- หน้าต่อไป API Console