- 23120045 - Dương Khánh Khải Hưng
- 23120065 - Nguyễn Trọng Nhân
- 23120149 - Nguyễn Hưng Nguyên
- 23120154 - Nguyễn Thanh Phong
- 23120171 - Đặng Ngọc Tiên
- 23120175 - Huỳnh Thái Toàn
🎬 Video Demo: https://youtu.be/KZ3spciqOIk
DrawApp là một ứng dụng vẽ đồ họa vector đơn giản nhưng mạnh mẽ, được phát triển nhằm cung cấp một công cụ sáng tạo linh hoạt trên cả máy tính và thiết bị di động. Với giao diện trực quan và bộ công cụ đa dạng, người dùng có thể dễ dàng phác thảo ý tưởng, vẽ các hình khối cơ bản và lưu trữ sản phẩm dưới nhiều định dạng khác nhau.
Ứng dụng được tối ưu hóa cho trải nghiệm người dùng với khả năng tùy biến cao về màu sắc, kích thước và hỗ trợ các tính năng hiện đại như hoàn tác, chế độ tối và xuất ảnh chất lượng cao.
Ứng dụng đáp ứng đầy đủ các yêu cầu cơ bản sau:
- Hỗ trợ vẽ các đối tượng cơ bản:
- Điểm (Point)
- Đường thẳng (Line)
- Hình Ellipse và Hình tròn (Circle)
- Hình chữ nhật (Rectangle) và Hình vuông (Square)
- Hỗ trợ tô màu: Cho phép chọn màu nền (Fill Color) cho các hình khối.
- Tùy chỉnh đường viền:
- Thay đổi độ dày đường viền (Stroke Width).
- Thay đổi màu sắc đường viền (Stroke Color).
- Lưu và Nạp dữ liệu:
- Hỗ trợ lưu bản vẽ dưới dạng tệp nhị phân tự định nghĩa (
.mydraw). - Nạp lại tệp đã lưu để tiếp tục chỉnh sửa.
- Hỗ trợ lưu bản vẽ dưới dạng tệp nhị phân tự định nghĩa (
- Xuất ảnh: Hỗ trợ xuất bản vẽ ra định dạng ảnh PNG hoặc JPEG.
Ngoài các yêu cầu cơ bản, ứng dụng còn tích hợp các tính năng bổ sung nhằm tối ưu trải nghiệm người dùng:
- Hoàn tác & Làm lại (Undo/Redo): Cho phép quay lại các bước vẽ trước đó hoặc khôi phục các thao tác vừa hoàn tác.
- Vẽ tự do (Pencil): Hỗ trợ công cụ bút chì để vẽ các đường nét tự do.
- Chọn và Di chuyển đối tượng:
- Công cụ Select cho phép chọn các hình đã vẽ trên canvas.
- Hỗ trợ di chuyển đối tượng sau khi vẽ.
- Phóng to/Thu nhỏ hình (Scale): Hỗ trợ kéo giãn hoặc thu nhỏ hình đã vẽ bằng cách kéo 4 góc của hình, cho phép tùy chỉnh kích thước một cách trực quan và linh hoạt.
- Chế độ lưới (Grid View): Hiển thị lưới tọa độ giúp căn chỉnh các đối tượng chính xác hơn.
- Đổ màu (Paint Bucket): Công cụ tô màu nhanh cho các vùng khép kín.
- Giao diện tối/sáng (Dark/Light Mode): Tự động thay đổi theo hệ thống hoặc tùy chỉnh thủ công, lưu lại trạng thái qua
SharedPreferences. - Thiết kế đáp ứng (Responsive Design): Giao diện tối ưu hóa riêng biệt cho máy tính (Desktop) và điện thoại (Mobile).
- Quản lý quyền (Permissions): Xử lý quyền truy cập bộ nhớ thông minh trên Android (bao gồm cả Android 13+).
- Framework: Flutter & Dart
- State Management: Provider
- Storage:
path_provider,file_picker,shared_preferences - Permissions:
permission_handler
Seminar Lập trình Windows - 2025