Đối tượng Canvas của HTML DOM
Phần tử <canvas> định nghĩa khu vực bitmap trong trang HTML.
API Canvas cho phép JavaScript vẽ các hình ảnh trên khung vẽ.
API Canvas cho phép JavaScript vẽ các hình ảnh trên khung vẽ.
Thêm Canvas vào HTML
Bạn có thể sử dụng thẻ <canvas> để thêm phần tử canvas vào bất kỳ vị trí nào trong trang HTML:
Mô hình
<canvas id="myCanvas" width="300" height="150"></canvas>
Cách truy cập vào phần tử Canvas
Bạn có thể sử dụng phương pháp HTML DOM được gọi là getElementById() để truy cập vào phần tử <canvas>:
const myCanvas = document.getElementById("myCanvas");
Để vẽ trên canvas, bạn cần tạo đối tượng ngữ cảnh 2D:
const ctx = myCanvas.getContext("2d");
Ghi chú
HTML <canvas> không có chức năng vẽ.
Bạn phải sử dụng JavaScript để vẽ bất kỳ hình ảnh nào.
Phương pháp getContext() trả về một đối tượng có các công cụ vẽ (phương pháp).
Vẽ trên canvas
Sau khi tạo đối tượng ngữ cảnh 2D, bạn có thể vẽ trên canvas.
Phương pháp fillRect() dưới đây đã vẽ một hình vuông đen, góc trên bên trái của nó ở vị trí 20,20. Hình vuông có chiều rộng 150 pixel và chiều cao 100 pixel:
Mô hình
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Sử dụng màu sắc
Thuộc tính fillStyle thiết lập màu sắc lấp đầy đối tượng vẽ.
Mô hình
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Bạn cũng có thể sử dụng phương pháp document.createElement() để tạo một đối tượng <canvas> mới và thêm đối tượng này vào trang HTML hiện có:
Mô hình
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Đường dẫn
Phương pháp phổ biến để vẽ trên canvas là:
- Bắt đầu đường dẫn - beginPath()
- Di chuyển đến một điểm - moveTo()
- Vẽ trong đường dẫn - lineTo()
- Vẽ đường dẫn - stroke()
Mô hình
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();
Màu sắc, phong cách và bóng
Thuộc tính | Mô tả |
---|---|
fillStyle | Đặt hoặc trả về màu sắc, dải màu hoặc mẫu được sử dụng cho việc lấp đầy vẽ. |
strokeStyle | Đặt hoặc trả về màu sắc, dải màu hoặc mẫu được sử dụng cho đường viền. |
shadowColor | Đặt hoặc trả về màu sắc được sử dụng cho bóng. |
shadowBlur | Đặt hoặc trả về mức độ mờ của bóng. |
shadowOffsetX | Đặt hoặc trả về khoảng cách ngang từ bóng đến hình dạng. |
shadowOffsetY | Đặt hoặc trả về khoảng cách dọc từ bóng đến hình dạng. |
Phương pháp | Mô tả |
---|---|
createLinearGradient() | Tạo dốc tuyến tính (dùng cho nội dung canvas). |
createPattern() | Lặp lại phần tử chỉ định theo hướng chỉ định. |
createRadialGradient() | Tạo dốc tia hoặc dốc tròn (dùng cho nội dung canvas). |
addColorStop() | Định nghĩa màu sắc và vị trí dừng trong đối tượng dốc. |
Kiểu đường
Thuộc tính | Mô tả |
---|---|
lineCap | Đặt hoặc trả về kiểu đỉnh của đường. |
lineJoin | Đặt hoặc trả về loại góc được tạo khi hai đường相交. |
lineWidth | Đặt hoặc trả về độ rộng đường. |
miterLimit | Đặt hoặc trả về độ dài tối đa của góc miter. |
Khung vuông
Phương pháp | Mô tả |
---|---|
rect() | Tạo khung vuông. |
fillRect() | Vẽ khung vuông được lấp đầy. |
strokeRect() | Vẽ khung vuông (không lấp đầy). |
clearRect() | Xóa pixel chỉ định trong khung vuông. |
Đường dẫn
Phương pháp | Mô tả |
---|---|
fill() | Lấp đầy hình ảnh hiện tại (đường dẫn). |
stroke() | Thực sự vẽ đường dẫn mà bạn đã định nghĩa. |
beginPath() | Bắt đầu đường dẫn hoặc đặt lại đường dẫn hiện tại. |
moveTo() | Chuyển đường dẫn đến điểm chỉ định trên canvas mà không tạo đường. |
closePath() | Tạo đường dẫn từ điểm hiện tại trở lại điểm bắt đầu. |
lineTo() | Thêm một điểm mới và tạo một đường từ điểm đó đến điểm cuối cùng được chỉ định trên canvas. |
clip() | Cắt bỏ bất kỳ hình dạng và kích thước nào từ canvas gốc. |
quadraticCurveTo() | Tạo đường cong hai điểm Bezier. |
bezierCurveTo() | Tạo đường cong ba điểm Bezier. |
arc() | Tạo hình tròn hoặc đường cong (dùng để tạo hình tròn hoặc phần tròn của hình tròn). |
arcTo() | Tạo hình tròn hoặc đường cong giữa hai đường cắt. |
isPointInPath() | Nếu điểm chỉ định nằm trong đường dẫn hiện tại, thì trả về true, ngược lại trả về false. |
Chuyển đổi
Phương pháp | Mô tả |
---|---|
scale() | Phóng to hoặc thu nhỏ hình ảnh hiện tại. |
rotate() | Quay hình ảnh hiện tại. |
translate() | Chuyển đổi lại vị trí (0,0) trên canvas. |
transform() | Thay thế ma trận chuyển đổi hiện tại của vẽ. |
setTransform() | Đặt lại chuyển đổi hiện tại thành ma trận đơn vị. Sau đó chạy transform(). |
Văn bản
Thuộc tính | Mô tả |
---|---|
font | Đặt hoặc trả về thuộc tính font hiện tại của nội dung văn bản. |
textAlign | Đặt hoặc trả về cách đối齐 hiện tại của nội dung văn bản. |
textBaseline | Đặt hoặc trả về đường cơ bản hiện tại được sử dụng để vẽ văn bản. |
Phương pháp | Mô tả |
---|---|
fillText() | Vẽ văn bản 'lấp đầy' trên canvas. |
strokeText() | Vẽ văn bản trên canvas (không lấp đầy). |
measureText() | Trả về đối tượng chứa chiều rộng của văn bản được chỉ định. |
Vẽ hình ảnh
Phương pháp | Mô tả |
---|---|
drawImage() | Vẽ hình ảnh, canvas hoặc video trên canvas. |
Công tác xử lý pixel
Thuộc tính | Mô tả |
---|---|
width | Trả về chiều rộng của đối tượng ImageData. |
height | Trả về chiều cao của đối tượng ImageData. |
data | Trả về đối tượng chứa dữ liệu hình ảnh của đối tượng ImageData được chỉ định. |
Phương pháp | Mô tả |
---|---|
createImageData() | Tạo đối tượng ImageData mới trống. |
getImageData() | Trả về đối tượng ImageData, đối tượng này sao chép dữ liệu pixel của hình vuông được chỉ định trên canvas. |
putImageData() | Đưa dữ liệu hình ảnh (từ đối tượng ImageData được chỉ định) trở lại canvas. |
Hợp thành
Thuộc tính | Mô tả |
---|---|
globalAlpha | Đặt hoặc trả về giá trị alpha hoặc độ trong suốt hiện tại của việc vẽ. |
globalCompositeOperation | Đặt hoặc trả về cách vẽ hình ảnh mới lên hình ảnh hiện tại. |
Khác
Phương pháp | Mô tả |
---|---|
save() | Lưu trạng thái hiện tại của ngữ cảnh. |
restore() | Trả về trạng thái và thuộc tính của đường dẫn đã lưu trước đó. |
createEvent() | |
getContext() | |
toDataURL() |
Thuộc tính và sự kiện tiêu chuẩn
Đối tượng canvas hỗ trợ đồng thời các tiêu chuẩnThuộc tínhvàSự kiện.
Trang liên quan
Hướng dẫn HTML:Canvas HTML5
Hướng dẫn hình ảnh HTML:Hướng dẫn Canvas HTML
Tài liệu tham khảo HTML:Thẻ <canvas> trong HTML