Canvas - Gradients
Gradients có thể được sử dụng để vẽ trong hình nhữ nhật, hình tròn, đường thẳng, văn bản, vv... Hình dáng trên Canvas không bị giới hạn bởi màu sắc cứng nhắc.
Có 2 loại khác nhau của Gradients:
Có 2 loại khác nhau của Gradients:
- createLinearGradient(x,y,x1,y1) ✓ tạo một dải màu tuyến tính
- createRadialGradient(x,y,r,x1,y1,r1) ✓ tạo một tâm tròn màu biến thiên
Một khi chúng ta có một đối tượng gradient, chúng ta phải thêm hai hoặc nhiều điểm dừng màu.
Sử dụng createLinearGradient()
Ví dụ
Tạo một dải màu tuyến tính. Hình chữ nhật với biến thiên gradient:
JavaScript:
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// Create gradient
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
Sử dụng createRadialGradient():
Ví dụ
Tạo một tâm tròn màu biến thiên trong một hình chữ nhật:
JavaScript:
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
// Create gradient
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// Fill with gradient
ctx.fillStyle = grd;
ctx.fillRect(10,10,150,80);
⚽ Giải thích ví dụ trên:
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
✓ Vòng tròn thứ nhất có tâm ở vị trí x,y là 75,50 và có bán kính là 5 ✓ Vòng tròn thứ hai có tâm ở vị trí x,y là 90,60 và có bán kính là 100
grd.addColorStop(0,"red"); ✓ Biến thiên màu từ đỏ
grd.addColorStop(1,"white"); ✓ Tới trắng
ctx.fillStyle = grd; ctx.fillRect(10,10,150,80); ✓ Đưa vòng tròn màu biến thiên vào trong hình chữ nhật, Hình chữ nhật được vẽ bắt đầu ở tọa độ x,y là 10,10 và chiều rộng/cao hình nhữ nhật lần lượt là 150,80
Trương Đức Tài.
✓ Vòng tròn thứ nhất có tâm ở vị trí x,y là 75,50 và có bán kính là 5 ✓ Vòng tròn thứ hai có tâm ở vị trí x,y là 90,60 và có bán kính là 100
grd.addColorStop(0,"red"); ✓ Biến thiên màu từ đỏ
grd.addColorStop(1,"white"); ✓ Tới trắng
ctx.fillStyle = grd; ctx.fillRect(10,10,150,80); ✓ Đưa vòng tròn màu biến thiên vào trong hình chữ nhật, Hình chữ nhật được vẽ bắt đầu ở tọa độ x,y là 10,10 và chiều rộng/cao hình nhữ nhật lần lượt là 150,80