HTML DOM Canvas ตัวแทน
องค์ประกอบ <canvas> นี้กำหนดพื้นที่บิตแมพ์ในหน้าเว็บ HTML:
API Canvas อนุญาตให้ JavaScript วาดกราฟิกบนหน้าภาพ:
API Canvas สามารถวาดรูปทรงกลม、เส้น、เส้นโค้ง、ตารางกลม、ข้อความและภาพฯ รวมถึงสี、การหมุน、ความโปร่งใสและการปฏิบัติต่อจุดภาพเช่นนั้น:
เพิ่ม Canvas ใน HTML
คุณสามารถใช้ตากาน <canvas> ในตำแหน่งต่างๆ ในหน้าเว็บ HTML ได้:
ตัวอย่าง
<canvas id="myCanvas" width="300" height="150"></canvas>
วิธีการเข้าถึงองค์ประกอบ Canvas
คุณสามารถใช้วิธี HTML DOM อย่าง getElementById() ในการเข้าถึงองค์ประกอบ <canvas> ได้:
const myCanvas = document.getElementById("myCanvas");
ถ้าคุณต้องการวาดบนกระดาษวาด คุณจำเป็นต้องสร้างวัตถุ 2D ความรับฝึก
const ctx = myCanvas.getContext("2d");
บันทึก
ตัวองค์ประกอบ HTML <canvas> มีความสามารถวาดรูปภาพ
คุณจำเป็นต้องใช้ JavaScript เพื่อวาดรูปภาพใดๆ
วิธี getContext() คืนค่าวัตถุที่มีเครื่องมือวาด (วิธี)
วาดบนกระดาษวาด
หลังจากที่สร้างวัตถุ 2D ความรับฝึก คุณสามารถวาดบนกระดาษวาดได้
วิธี 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() | วาดข้อความ 'ทาสี' |
strokeText() | วาดข้อความบนกระดานภาพ (ไม่มีการทาสี) |
measureText() | คืนวัตถุที่มีความกว้างของข้อความที่กำหนด |
การวาดภาพ
วิธี | คำอธิบาย |
---|---|
drawImage() | วาดภาพบนกระดานภาพ กระดานภาพหรือวิดีโอ |
การปฏิบัติต่อพิกเซล
คุณสมบัติ | คำอธิบาย |
---|---|
width | คืนความกว้างของวัตถุ ImageData |
height | คืนความสูงของวัตถุ ImageData |
data | คืนวัตถุที่มีข้อมูลภาพของ ImageData ที่กำหนด |
วิธี | คำอธิบาย |
---|---|
createImageData() | สร้างวัตถุ ImageData ช่องว่างใหม่ |
getImageData() | คืนวัตถุ ImageData ที่คัดลอกข้อมูลพิกเซลของสี่เหลี่ยมผืนผ้าที่กำหนดบนกระดานภาพ |
putImageData() | นำข้อมูลภาพ (มาจากวัตถุ ImageData ที่กำหนด) กลับมาวาดบนกระดานภาพ |
ส่วนผสม
คุณสมบัติ | คำอธิบาย |
---|---|
globalAlpha | ตั้งค่าหรือคืนค่าค่า alpha หรือความโปร่งใสของการวาด |
globalCompositeOperation | ตั้งค่าหรือคืนค่าวิธีการวาดภาพใหม่เข้าไปบนภาพที่มีอยู่ |
อื่นๆ
วิธี | คำอธิบาย |
---|---|
save() | บันทึกสถานะของความเป็นส่วนตัวของส่วนที่ใช้งาน |
restore() | คืนสถานะและคุณสมบัติของเส้นทางที่บันทึกไว้ก่อนหน้า |
createEvent() | |
getContext() | |
toDataURL() |
หน้าที่เกี่ยวข้อง
ความรู้ HTML:Canvas HTML5
ความรู้ HTML ภาพ:HTML Canvas ความรู้
คู่มือ HTML ออกแบบ:HTML <canvas> แท็ก