Rough.js
- Rough.js là một thư viện đồ họa nhỏ cho phép vẽ đồ họa theo phong cách minh họa thủ công giống như bản phác thảo.
- Thư viện định nghĩa các hình cơ bản có thể vẽ đường thẳng, đường cong, cung, đa giác, hình tròn và hình elip, đồng thời cũng hỗ trợ vẽ đường dẫn SVG.
- Rough.js hoạt động với cả canvas và SVG.
Cài đặt
- Cài đặt qua npm:
npm install --save roughjs
- Sử dụng trong mã:
import rough from 'roughjs';
Cách dùng
- Có thể xem toàn bộ API của Rough.js trên Github.
- Ví dụ dùng canvas:
const rc = rough.canvas(document.getElementById('canvas')); rc.rectangle(10, 10, 200, 200);
- Ví dụ dùng SVG:
const rc = rough.svg(svg); let node = rc.rectangle(10, 10, 200, 200); svg.appendChild(node);
Đường thẳng và hình elip
- Ví dụ vẽ hình tròn, hình elip và đường thẳng:
rc.circle(80, 120, 50); rc.ellipse(300, 100, 150, 80); rc.line(80, 120, 300, 100);
Tô màu
- Các kiểu tô gồm hachure (mặc định), solid, zigzag, cross-hatch, dots, sunburst, dashed, zigzag-line v.v.
- Ví dụ tô màu:
rc.circle(50, 50, 80, { fill: 'red' }); rc.rectangle(120, 15, 80, 80, { fill: 'red' });
Phong cách phác thảo
- Ví dụ điều chỉnh phong cách phác thảo:
rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' }); rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });
Đường dẫn SVG
- Ví dụ vẽ đường dẫn SVG:
rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });
Ví dụ
- Có thể xem ví dụ tại đây.
API & tài liệu
Ghi công
- Thuật toán cốt lõi để vẽ đường viền của đường thẳng và hình elip được áp dụng từ thư viện handyprocessing.
- Thuật toán chuyển đổi cung SVG sang canvas được áp dụng từ codebase của Mozilla.
Hỗ trợ dự án này
- Có thể hỗ trợ dự án này qua Github Sponsors hoặc Open Collective.
- Dự án này nhận được sự hỗ trợ từ Excalidraw, Cube, Diagrams.net, Terrastruct, SheetJS, Poster Maker, Chartle và nhiều bên khác.
Giấy phép
- Giấy phép MIT, bản quyền thuộc về Preet Shihn.
Ý kiến của GN⁺
- Rough.js là một thư viện sáng tạo giúp người dùng dễ dàng triển khai đồ họa theo phong cách vẽ tay thủ công trên web.
- Khả năng điều chỉnh đa dạng các kiểu tô màu và phong cách phác thảo mang đến một chiều kích mới cho thiết kế đồ họa trên nền web.
- Thư viện này nhận được sự hỗ trợ từ cộng đồng mã nguồn mở và được tích hợp vào nhiều công cụ web khác nhau, góp phần làm phong phú trải nghiệm người dùng.
1 bình luận
Ý kiến trên Hacker News
Các trường hợp sử dụng RoughNotation & RoughJS
Wired Elements & svg2roughjs
Tạo mockup tương tác bằng RoughJS
Nhiều cách tận dụng RoughJS
Bản tóm tắt này cho thấy nhiều trường hợp sử dụng khác nhau của RoughJS và các công cụ liên quan, cùng những trải nghiệm tích cực từ người dùng trong phần bình luận Hacker News. RoughJS là một thư viện JavaScript giúp tạo đồ họa theo phong cách phác thảo như vẽ tay, được ưa chuộng trong giới phát triển web và được dùng để tạo mockup, biểu đồ, thành phần tương tác và nhiều web component khác.