HTML DOM Canvas ตัวแทน

  • หน้าก่อนหน้า <button>
  • หน้าต่อไป <caption>

องค์ประกอบ <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);

ลองด้วยตัวเอง

ทาง

วิธีที่ใช้บ่อยที่สุดสำหรับวาดบนกระดาษวาด

  1. เริ่มเส้นทาง - beginPath()
  2. ย้ายไปยังจุด - moveTo()
  3. วาดในเส้นทาง - lineTo()
  4. วาดเส้นทาง - 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()

มาตรฐานคุณสมบัติและเหตุการณ์

วัตถุ canvas สนับสนุนมาตรฐานคุณสมบัติและเหตุการณ์.

หน้าที่เกี่ยวข้อง

ความรู้ HTML:Canvas HTML5

ความรู้ HTML ภาพ:HTML Canvas ความรู้

คู่มือ HTML ออกแบบ:HTML <canvas> แท็ก

  • หน้าก่อนหน้า <button>
  • หน้าต่อไป <caption>