Để vẽ hình cung với HTML5 Canvas, chúng ta có thể sử dụng phương thức arc().

Cú pháp:

1
2
context.arc(centerX, centerY, radius, startingAngle, 
	endingAngle, antiClockwise);
 
Ngoài ra, để vẽ đường bo tròn cho một hình vuông chúng ta có thể dùng arcTo().
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
window.onload = function(){
    var canvas = document.getElementById("myCanvas");
    var context = canvas.getContext("2d");
 
    var centerX = 288;
    var centerY = 160;
    var radius = 75;
    var startingAngle = 1.1 * Math.PI;
    var endingAngle = 1.9 * Math.PI;
    var counterclockwise = false;
 
    context.arc(centerX, centerY, radius, startingAngle, 
        endingAngle, counterclockwise);
 
    context.lineWidth = 15;
    context.strokeStyle = "black"; // line color
    context.stroke();
};

 

Nhìn vào hình trên chúng ta có thể thấy rằng để vẽ đường cung trước tiên cần chỉ đinh trục x và y của tâm (centerX, centerY), radius xác định chiều dài bán kính. startingAngle: điểm bắt đầu, endingAngle: vị trí kết thúc của hình cung. Bạn hãy thử cho startingAngle=0 và endingAngle = Math.PI*2 nó sẽ ra hình tròn.

Tham số cuối cùng antiClockwise: định nghĩa chiều để vẽ, nếu không truyền vào một giá trị thì mặc định nó sẽ là false (theo chiều kim đồng hồ), và ngược lại true (ngược chiều kim đồng hồ).

Kết quả: