Lab
ASCII Video getUserMedia · live
Canvas 2D · getUserMedia · luminance → glyph

วิดีโอเป็นตัวอักษร

แปลงภาพจากเว็บแคมเป็น ASCII แบบ real-time. หลักการคือ ย่อภาพลงเหลือตารางเล็ก ๆ (เช่น 120 คอลัมน์) แล้วแต่ละช่องดูความสว่าง — สว่างน้อยใส่ตัวอักษรโปร่ง สว่างมากใส่ตัวอักษรทึบ. เริ่มด้วยภาพ plasma จำลอง กด เปิดกล้อง เพื่อใช้วิดีโอจริง (ต้องเปิดผ่าน https หรือ localhost)

plasma · fps
ชุดตัวอักษร
สี

คอลัมน์มาก = ละเอียดแต่หนักขึ้น · กล้องเปิดได้เฉพาะหน้าเว็บที่เป็น https (หน้านี้บน Pages ใช้ได้)

วิธีทำงาน: วาดเฟรมวิดีโอลง canvas เล็ก ๆ ขนาด cols × rows (drawImage ย่อให้เอง) แล้ว getImageData() อ่านสีทุกช่อง. คำนวณความสว่าง 0.299R + 0.587G + 0.114B แมปเข้าช่วงดัชนีของ "แถบตัวอักษร" (ramp) ที่เรียงจากโปร่ง→ทึบ แล้ว fillText() ลงจอจริง. โหมด plasma ใช้ผลรวมของคลื่น sine หลายเส้นแทนภาพกล้อง — ไม่ต้องขออนุญาตอะไร.