TÓM TẮT
- 1 Mở Đầu
- 2 1. Path là gì? Định Nghĩa và Vai Trò
- 3 2. Các Công Cụ Vẽ Path Phổ Biến
- 4 3. Cú Pháp Vẽ Path trong SVG
- 5 4. Vẽ Path trong Canvas
- 6 5. Vẽ Path trong CSS: clip‑path và shape‑outside
- 7 6. Kỹ Thuật Vẽ Path Nâng Cao
- 8 7. Thực Hành: Tạo Logo Đơn Giản Bằng Path
- 9 8. Thông Tin Tham Khảo và Tài Nguyên Học Tập
- 10 9. Tổng Kết
Mở Đầu
Trong thế giới thiết kế đồ họa và lập trình giao diện người dùng, path (đường dẫn) là một trong những khái niệm cốt lõi, quyết định đến việc tạo ra các hình dạng phức tạp, mượt mà và linh hoạt. Dù bạn là một nhà thiết kế UI/UX, một lập trình viên front‑end, hay một họa sĩ kỹ thuật số, việc nắm vững cách vẽ path sẽ giúp bạn tiết kiệm thời gian, nâng cao chất lượng sản phẩm và mở rộng khả năng sáng tạo vô hạn.
Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn toàn diện, chi tiết, và thực tiễn về cách vẽ path. Chúng tôi sẽ đi từ những kiến thức cơ bản nhất, giải thích các thành phần cấu thành một path, đến các công cụ và ngôn ngữ lập trình thường dùng (như SVG, Canvas, CSS, và các phần mềm thiết kế như Adobe Illustrator, Figma). Sau đó, chúng tôi sẽ giới thiệu các kỹ thuật nâng cao, mẹo tối ưu hoá và một số ví dụ thực tế để bạn có thể áp dụng ngay vào dự án của mình.
Lưu ý: Bài viết này được viết bằng tiếng Việt, hướng tới độc giả từ mới bắt đầu đến chuyên gia. Nếu bạn chưa từng nghe tới “path” trước đây, đừng lo lắng – chúng tôi sẽ giải thích mọi thứ một cách tỉ mỉ và dễ hiểu.
1. Path là gì? Định Nghĩa và Vai Trò
1.1. Định Nghĩa Cơ Bản
Path (đường dẫn) trong đồ họa là một tập hợp các điểm (points) và đường cong (curves) được nối liền với nhau để tạo thành một hình dạng. Path có thể là một đường thẳng, một hình đa giác, một vòng tròn, hoặc một đường cong phức tạp như bézier.
1.2. Các Thành Phần Của Path

Có thể bạn quan tâm: Cách Vẽ Passite: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Anchor Points (điểm neo): Các điểm kiểm soát chính, quyết định vị trí và hướng của đường.
- Control Handles (tay điều khiển): Được dùng trong các đường cong bézier để điều chỉnh độ cong.
- Segments (đoạn): Các đoạn thẳng hoặc đoạn cong nối giữa các anchor points.
- Closed Path (đường đóng): Khi đoạn cuối nối lại với đoạn đầu, tạo thành một hình kín.
- Open Path (đường mở): Khi không nối lại, thường dùng để vẽ đường viền hoặc đường dẫn.
1.3. Vai Trò Của Path trong Thiết Kế
- Tạo hình dạng tùy chỉnh: Thay vì dùng các hình cơ bản (hình chữ nhật, hình tròn), path cho phép tạo ra mọi hình dạng không giới hạn.
- Kiểm soát chi tiết: Mỗi điểm và đoạn có thể được chỉnh sửa độc lập, mang lại độ chính xác cao.
- Tái sử dụng: Path có thể được lưu lại dưới dạng vector, dễ dàng mở rộng mà không mất chất lượng.
- Tương tác động: Trong lập trình web, path có thể được sử dụng để tạo các hiệu ứng động, animation, và tương tác người dùng.
2. Các Công Cụ Vẽ Path Phổ Biến
2.1. Adobe Illustrator
- Pen Tool (P): Công cụ chính để vẽ path bằng cách tạo anchor points và điều chỉnh bézier.
- Curvature Tool (Shift+~): Dễ dàng tạo các đường cong mượt mà mà không cần thao tác tay trên control handles.
- Direct Selection Tool (A): Chỉnh sửa các anchor points và control handles riêng lẻ.
2.2. Figma
- Pen Tool (P): Tương tự Illustrator, hỗ trợ tạo path vector trong môi trường UI/UX.
- Vector Networks: Figma cho phép tạo mạng lưới vector phi tuyến, giúp vẽ các đường không cần phải theo thứ tự tuần tự.
2.3. Inkscape (Miễn phí)
- Bezier Tool (B): Tạo đường cong bézier.
- Node Tool (N): Chỉnh sửa các node (điểm) và handles.
2.4. HTML5 Canvas & SVG (Lập Trình)
- Canvas API: Sử dụng JavaScript để vẽ path bằng các phương thức như
moveTo(),lineTo(),bezierCurveTo(),quadraticCurveTo(). - SVG Path Data: Thuộc tính
dchứa chuỗi lệnh mô tả path (M, L, C, Q, Z, …).
2.5. CSS Shapes & Clip‑Path

Có thể bạn quan tâm: Cách Vẽ Partograph: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- clip-path: Dùng để cắt hình ảnh hoặc phần tử HTML theo một path.
- shape-outside: Điều khiển cách văn bản quấn quanh một hình dạng tùy chỉnh.
3. Cú Pháp Vẽ Path trong SVG
SVG (Scalable Vector Graphics) là chuẩn mở cho đồ họa vector trên web. Path trong SVG được mô tả bằng thuộc tính d (path data). Dưới đây là các lệnh cơ bản:
| Lệnh | Mô tả | Cú pháp | Ví dụ |
|---|---|---|---|
| M | Move to (di chuyển mà không vẽ) | M x y |
M 10 20 |
| L | Line to (đường thẳng) | L x y |
L 100 200 |
| H | Horizontal line to | H x |
H 150 |
| V | Vertical line to | V y |
V 80 |
| C | Cubic Bézier curve | C x1 y1, x2 y2, x y |
C 20 30, 40 50, 60 70 |
| S | Smooth cubic Bézier | S x2 y2, x y |
S 80 90, 100 110 |
| Q | Quadratic Bézier curve | Q x1 y1, x y |
Q 30 40, 50 60 |
| T | Smooth quadratic Bézier | T x y |
T 70 80 |
| A | Elliptical Arc | A rx ry x-axis-rotation large-arc-flag sweep-flag x y |
A 30 50 0 0 1 100 100 |
| Z | Close path | Z (hoặc z) |
Z |
3.1. Ví Dụ Cụ Thể
<svg width="300" height="200" viewBox="0 0 300 200" xmlns="http://www.w3.org/2000/svg"> <!-- Đường thẳng --> <path d="M 20 20 L 280 20 L 280 180 L 20 180 Z" fill="none" stroke="#3498db" stroke-width="2"/> <!-- Đường cong bézier --> <path d="M 50 150 C 150 0, 200 300, 250 150" fill="none" stroke="#e74c3c" stroke-width="3"/> <!-- Arc --> <path d="M 150 100 A 50 50 0 0 1 200 150" fill="none" stroke="#2ecc71" stroke-width="2"/>
</svg>
Trong ví dụ trên:
– Đường đầu tiên tạo một hình chữ nhật bằng M, L, và Z.
– Đường thứ hai là một đường cong bézier cubic.
– Đường thứ ba là một cung tròn (arc).
4. Vẽ Path trong Canvas
Canvas sử dụng JavaScript để vẽ. Các hàm chính:
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d'); // Bắt đầu một path mới
ctx.beginPath(); // Di chuyển đến vị trí bắt đầu
ctx.moveTo(50, 50); // Vẽ đường thẳng
ctx.lineTo(200, 50); // Vẽ đường cong bézier cubic
ctx.bezierCurveTo(220, 80, 260, 20, 300, 50); // Đóng path và vẽ
ctx.stroke(); // Hoặc ctx.fill();
4.1. Các Phương Thức Quan Trọng
beginPath(): Khởi tạo một path mới.closePath(): Đóng path (tương tựZtrong SVG).stroke(): Vẽ viền.fill(): Đổ màu bên trong.setLineDash(dashArray): Tạo nét gạch đoạn.
5. Vẽ Path trong CSS: clip‑path và shape‑outside

Có thể bạn quan tâm: Cách Vẽ Paraboloid: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
5.1. clip‑path
.box { width: 300px; height: 200px; background: url('image.jpg') center/cover; clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
}
polygon()chấp nhận danh sách các điểm (x% y%) để tạo hình đa giác.- Có thể dùng
path('M...Z')để nhập trực tiếp lệnh SVG.
5.2. shape‑outside
.article { float: left; width: 300px; shape-outside: circle(50% at 50% 50%); margin: 20px;
}
- Khi kết hợp
float, văn bản sẽ quây quanh hình dạng đã định nghĩa.
6. Kỹ Thuật Vẽ Path Nâng Cao
6.1. Sử Dụng Bézier Curve Để Tạo Đường Cong Mượt
Bézier là công cụ mạnh mẽ nhất để tạo đường cong. Đối với các nhà thiết kế, việc điều chỉnh control handles là chìa khóa:
- Cubic Bézier (C): 2 control points, tạo độ linh hoạt cao.
- Quadratic Bézier (Q): 1 control point, đơn giản hơn.
Mẹo: Khi muốn tạo “smooth transition” giữa các đoạn, sử dụng S và T để tự động tính toán control point phản chiếu, giúp giảm công việc chỉnh sửa.
6.2. Tạo Path Đối Xứng (Symmetrical Path)

Có thể bạn quan tâm: Cách Vẽ Pantheon: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Phương pháp Mirror: Vẽ một nửa của hình, sau đó sao chép và lật (flip) để tạo đối xứng.
- Sử dụng Transform trong SVG: Thuộc tính
transform="scale(-1,1)"để lật ngang.
<g transform="scale(-1,1) translate(-200,0)"> <path d="M0,0 L100,0 L100,100 Z" fill="orange"/>
</g>
6.3. Animation Path với CSS và SVG
SVG SMIL (deprecated) → CSS Animation:
@keyframes moveAlong { 0% { offset-distance: 0%; } 100% { offset-distance: 100%; }
}
svg path { offset-path: path('M10 80 Q 95 10 180 80'); animation: moveAlong 4s linear infinite;
}
GSAP (GreenSock) cho Canvas hoặc SVG:
gsap.to('#myObject', { duration: 3, motionPath:{ path: "#myPath", align: "#myPath", autoRotate:true }, repeat:-1, yoyo:true
});
6.4. Tối Ưu Hóa Path
- Giảm số lượng điểm: Các phần mềm như Illustrator có tính năng “Simplify Path” giúp giảm số node mà không làm mất chi tiết quan trọng.
- Sử dụng
stroke-linecapvàstroke-linejoin: Để kiểm soát đầu mút và góc nối, giảm nhu cầu vẽ thêm các chi tiết. - Export dưới dạng
optimised SVGbằng công cụ SVGO để loại bỏ các thuộc tính không cần thiết.
7. Thực Hành: Tạo Logo Đơn Giản Bằng Path
7.1. Bước 1: Phác Thảo Ý Tưởng
Giả sử chúng ta muốn tạo một logo hình lá cách điệu.
7.2. Bước 2: Vẽ trong Illustrator
- Chọn Pen Tool (P).
- Đặt anchor point đầu tiên ở (50,200).
- Kéo một control handle lên trên tạo đường cong bézier sang phải.
- Tiếp tục tạo các anchor point để hoàn thiện hình lá, sử dụng
Alt(Option) để điều chỉnh handle.
7.3. Bước 3: Xuất SVG
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> <path d="M50 200 C70 150, 130 150, 150 200 C130 120, 70 120, 50 200 Z" fill="#27ae60" stroke="#1e8449" stroke-width="2"/>
</svg>
7.4. Bước 4: Thêm Animation CSS

.logo path{ animation: leaf 3s ease-in-out infinite alternate;
}
@keyframes leaf{ 0%{ transform: translateY(0) scale(1); } 100%{ transform: translateY(-10px) scale(1.05); }
}
Kết quả: Logo lá nhẹ nhàng nhúm lên, tạo cảm giác sinh động.
8. Thông Tin Tham Khảo và Tài Nguyên Học Tập
| Nguồn | Mô tả |
|---|---|
| MDN Web Docs – SVG Path | Tài liệu chuẩn về các lệnh path trong SVG. |
| Adobe Illustrator Official Help | Hướng dẫn chi tiết về Pen Tool và các kỹ thuật vẽ vector. |
| Figma Community Files | Nhiều file mẫu chứa vector path để học hỏi. |
| “SVG Essentials” – J. H. Lee | Sách chuyên sâu về SVG, bao gồm animation và tối ưu hoá. |
| GSAP MotionPath Plugin | Thư viện mạnh mẽ cho animation đường dẫn. |
9. Tổng Kết
Việc vẽ path không chỉ là một kỹ năng kỹ thuật mà còn là nền tảng cho mọi công việc sáng tạo trong thiết kế và lập trình. Từ việc tạo ra các hình dạng đơn giản đến những đoạn đường cong phức tạp, từ việc sử dụng phần mềm đồ họa như Illustrator đến việc lập trình trực tiếp trên Canvas hoặc SVG, hiểu và làm chủ path sẽ mở ra một thế giới mới của sự linh hoạt và hiệu quả.
9.1. Những Điểm Chính Bạn Cần Nhớ
- Hiểu cấu trúc cơ bản: anchor points, control handles, segments.
- Lựa chọn công cụ phù hợp: Illustrator → Pen Tool, Figma → Pen Tool, Canvas/SVG → JavaScript.
- Nắm vững cú pháp: Các lệnh M, L, C, Q, A trong SVG; các hàm
moveTo,lineTo,bezierCurveTotrong Canvas. - Áp dụng kỹ thuật nâng cao: Bézier smooth, path symmetry, animation, tối ưu hoá.
- Thực hành thường xuyên: Tạo các ví dụ thực tế, luyện tập chỉnh sửa node và handle.
9.2. Hành Động Tiếp Theo
- Bắt đầu một dự án nhỏ: Vẽ một icon hoặc logo bằng path trong Illustrator, sau đó xuất ra SVG và thử animate bằng CSS.
- Tham gia cộng đồng: Đăng tác phẩm trên Dribbble, Behance, hoặc Figma Community để nhận phản hồi.
- Khám phá thêm: Đọc sách “SVG Essentials”, thử GSAP MotionPath, và tìm hiểu về WebGL nếu muốn đi xa hơn.
Hy vọng rằng sau khi đọc bài viết này, bạn đã có một bản đồ chi tiết về cách vẽ path, từ cơ bản đến nâng cao, và sẵn sàng áp dụng vào công việc thực tế. Chúc bạn sáng tạo thành công và tạo ra những đường cong tuyệt đẹp!
