กราฟิก HTML

กราฟิก หน้าแรก

Google Maps

แนะนำแผนที่ แผนที่พื้นฐาน การวางซ้อนแผนที่ กิจกรรมของแผนที่ การควบคุมแผนที่ ประเภทแผนที่ แผนที่อ้างอิง

กวดวิชา SVG

บทนำ SVG SVG ใน HTML SVG สี่เหลี่ยมผืนผ้า SVG Circle SVG วงรี สาย SVG รูปหลายเหลี่ยม SVG SVG Polyline เส้นทาง SVG ข้อความ SVG SVG ลากเส้น บทนำตัวกรอง SVG เอฟเฟกต์เบลอ SVG SVG Drop Shadows SVG ลิเนียร์ SVG Radial ตัวอย่าง SVG ข้อมูลอ้างอิง SVG

กวดวิชาผ้าใบ

แนะนำผ้าใบ ภาพวาดบนผืนผ้าใบ พิกัดผ้าใบ ผ้าใบไล่โทนสี ข้อความผ้าใบ ภาพแคนวาส อ้างอิงผ้าใบ

นาฬิกาผ้าใบ

แนะนำนาฬิกา หน้าปัดนาฬิกา ตัวเลขนาฬิกา เข็มนาฬิกา นาฬิกาเริ่ม

เกม HTML

แนะนำเกม เกมแคนวาส ส่วนประกอบของเกม ตัวควบคุมเกม อุปสรรคของเกม คะแนนเกม รูปภาพเกม เสียงเกม เกมแรงโน้มถ่วง เกมเด้ง การหมุนเกม การเคลื่อนไหวของเกม

นาฬิกาผ้าใบ


ในบทเหล่านี้ เราจะสร้างนาฬิกาอะนาล็อกโดยใช้ผ้าใบ HTML


ส่วนที่ 1 - สร้างผืนผ้าใบ

นาฬิกาต้องการคอนเทนเนอร์ HTML สร้างผ้าใบ HTML:

รหัส HTML:

<!DOCTYPE html>
<html>
<body>

<canvas id="canvas" width="400" height="400" style="background-color:#333"></canvas>

<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var radius = canvas.height / 2;
ctx.translate(radius, radius);
radius = radius * 0.90
drawClock();

function drawClock() {
  ctx.arc(0, 0, radius, 0 , 2 * Math.PI);
  ctx.fillStyle = "white";
  ctx.fill();
}
</script>

</body>
</html>


รหัสอธิบาย

เพิ่มองค์ประกอบ HTML <canvas> ในหน้าของคุณ:

<canvas id="canvas" width="400" height="400" style="background-color:#333"></canvas>

สร้างวัตถุผ้าใบ (var canvas) จากองค์ประกอบผ้าใบ HTML:

var canvas = document.getElementById("canvas");

สร้างวัตถุรูปวาด 2 มิติ (var ctx) สำหรับวัตถุผ้าใบ:

var ctx = canvas.getContext("2d");

คำนวณรัศมีนาฬิกาโดยใช้ความสูงของผ้าใบ:

var radius = canvas.height / 2;

การใช้ความสูงของผ้าใบเพื่อคำนวณรัศมีนาฬิกา ทำให้นาฬิกาทำงานสำหรับผ้าใบทุกขนาด

ทำการแมปตำแหน่ง (0,0) ใหม่ (ของวัตถุรูปวาด) ไปที่กึ่งกลางของผืนผ้าใบ:

ctx.translate(radius, radius);

ลดรัศมีนาฬิกา (เหลือ 90%) เพื่อวาดนาฬิกาให้ดีภายในผืนผ้าใบ:

radius = radius * 0.90;

สร้างฟังก์ชันเพื่อวาดนาฬิกา:

function drawClock() {
  ctx.arc(0, 0, radius, 0 , 2 * Math.PI);
  ctx.fillStyle = "white";
  ctx.fill();
}