API Canvas
- Trang trước Kiểu HTML
- Trang tiếp theo API Console
Phần tử <canvas> định nghĩa vùng bitmap trong trang HTML.
API Canvas cho phép JavaScript vẽ hình ảnh trên canvas.
API Canvas có thể vẽ hình dạng, đường thẳng, đường cong, khung, văn bản và hình ảnh, cũng như màu sắc, quay, độ trong suốt và các thao tác pixel khác.
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ú
Yếu tố <canvas> HTML tự thân 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 thức getContext() trả về một đối tượng có công cụ vẽ (phương thức).
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 thức fillRect() dưới đây đã vẽ một hình vuông đen, góc trên cùng bên trái của nó ở vị trí 20,20. Hình vuông có độ rộng 150 pixel và độ 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 thức document.createElement() để tạo một yếu tố <canvas> mới và thêm yếu tố đó 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
Cách 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 thẳng đứng từ bóng đến hình dạng. |
Phương pháp | Mô tả |
---|---|
createLinearGradient() | Tạo dần thẳng (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ần tròn hoặc dần thẳng (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ần. |
Kiểu đường
Thuộc tính | Mô tả |
---|---|
lineCap | Đặt hoặc trả về phong cách đỉ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 của đường. |
miterLimit | Đặt hoặc trả về độ dài tối đa của góc cạnh. |
Hình vuông
Phương pháp | Mô tả |
---|---|
rect() | Tạo hình vuông. |
fillRect() | Vẽ hình vuông được lấp đầy. |
strokeRect() | Vẽ hình vuông (không lấp đầy). |
clearRect() | Xóa pixel cụ thể trong矩形的给定矩形内。 |
Đườ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 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() | Di 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ở về đ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 Bezier hai điểm. |
bezierCurveTo() | Tạo đường Bezier ba điểm. |
arc() | Tạo đoạn 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 đoạn tròn hoặc đường cong giữa hai đường thẳng. |
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() | Chuyển động hình ảnh hiện tại. |
translate() | Định nghĩa lại vị trí (0,0) trên canvas. |
transform() | Thay thế ma trận变换 hiện tại của vẽ. |
setTransform() | Đặt lạ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 phông chữ của nội dung văn bản hiện tại. |
textAlign | Đặt hoặc trả về cách đối齐 nội dung văn bản hiện tại. |
textBaseline | Thiết lập hoặc trả về dò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 tròn đượ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 | Thiết lập hoặc trả về giá trị alpha hoặc độ trong suốt hiện tại của việc vẽ. |
globalCompositeOperation | Thiết lập 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> HTML
- Trang trước Kiểu HTML
- Trang tiếp theo API Console