4. HƯỚNG DẪN SỬ DỤNG
4.1. Cài đặt & Khởi chạy
Phương pháp 1: Build từ source code
# Yêu cầu: .NET 9.0 SDK
cd D:\Photos\MarathonPhotoProcessor
dotnet restore
dotnet build -c Release
dotnet run
Phương pháp 2: Tạo file .exe portable
# Build portable executable (không cần cài .NET)
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
# File .exe tại: bin\Release\net9.0-windows\win-x64\publish\MarathonPhotoProcessor.exe
Phương pháp 3: Copy sang máy khác
- Build theo phương pháp 2
- Copy toàn bộ thư mục
publish\ sang máy đích
- Chạy trực tiếp
MarathonPhotoProcessor.exe
4.2. Sử dụng giao diện
Bước 1: Chọn thư mục
- Input Folder: Click "Browse" → Chọn thư mục chứa ảnh gốc
- Output Folder: Click "Browse" → Chọn thư mục lưu ảnh đã xử lý
- Tự động gợi ý:
[TênThưMụcGốc]_Processed
- Không được trùng với thư mục input
Bước 2: Cấu hình Quality
- Quality Slider: Kéo từ 50-100%
- 50-70%: Nén mạnh, giảm dung lượng tối đa (chất lượng khá)
- 80-90%: Cân bằng (khuyến nghị cho web)
- 95-100%: Chất lượng cao nhất (file lớn)
Bước 3: Resize (Tùy chọn)
- ☑ Enable Resize: Tick để bật
- Max Width: Chiều rộng tối đa (px)
- Max Height: Chiều cao tối đa (px)
- Ví dụ:
- Full HD: 1920 x 1080
- 2K: 2560 x 1440
- 4K: 3840 x 2160
Bước 4: Watermark (Tùy chọn)
- ☑ Enable Watermark: Tick để bật
Nếu chọn Logo:
- ○ Logo Watermark
- Click "Browse Logo" → Chọn file PNG/GIF trong suốt
- Chọn Position: Top Left, Top Right, Bottom Left, Bottom Right, Center
- Opacity: 10-100% (khuyến nghị 50-70%)
Nếu chọn Text:
- ○ Text Watermark
- Nhập text vào ô "Watermark Text"
- Chọn Position
- Opacity: 10-100%
Bước 5: Cấu hình Threads
- Thread Count: Số luồng xử lý song song
- Mặc định: Số CPU cores - 1
- Khuyến nghị:
- Máy yếu (4 cores): 2-3 threads
- Máy trung bình (6-8 cores): 4-6 threads
- Máy mạnh (12+ cores): 8-16 threads
Bước 6: Bắt đầu xử lý
- Click "Start"
- Theo dõi:
- Progress Bar: Tiến trình tổng thể
- Stats: Thống kê thành công/lỗi, dung lượng tiết kiệm
- Time Remaining: Thời gian còn lại
- Status: Trạng thái file đang xử lý
Bước 7: Quản lý tiến trình
- Pause: Tạm dừng (có thể tiếp tục sau)
- Resume: Tiếp tục sau khi pause
- Cancel: Hủy hoàn toàn (cần xác nhận)
4.3. Cấu hình tối ưu theo use-case
Cho web/social media:
Quality: 85%
Resize: ✓ (1920x1080)
Watermark: ✓ Logo (Opacity 60%)
Threads: CPU cores - 1
Output Format: JPG
Cho print/chất lượng cao:
Quality: 95%
Resize: ✗
Watermark: ✓ Logo (Opacity 30%)
Threads: CPU cores - 1
Output Format: JPG
Keep EXIF: ✓
Cho email/chia sẻ nhanh:
Quality: 75%
Resize: ✓ (1280x720)
Watermark: Optional
Threads: Max
Output Format: JPG
4.4. File settings.json
Cấu hình mẫu:
{
"Quality": 90,
"Resize": true,
"MaxWidth": 2000,
"MaxHeight": 2000,
"Watermark": {
"Enabled": true,
"Type": "Logo",
"LogoPath": "C:\\logos\\marathon_logo.png",
"Text": "",
"Position": "BottomRight",
"Opacity": 70,
"FontSize": 24,
"FontColor": "#FFFFFF",
"Margin": 20
},
"ThreadCount": 8,
"KeepExifData": false,
"OutputFormat": "jpg"
}
4.5. Performance Benchmark
| Cấu hình máy |
Threads |
Tốc độ |
100,000 ảnh |
| i5-8400 + 8GB RAM |
4 |
~180 ảnh/phút |
9-10 giờ |
| i7-9700K + 16GB RAM |
8 |
~300 ảnh/phút |
5-6 giờ |
| i9-12900K + 32GB RAM |
16 |
~500 ảnh/phút |
3-4 giờ |
| Ryzen 9 5950X + 64GB |
24 |
~700 ảnh/phút |
2-3 giờ |
Lưu ý: Tốc độ thực tế phụ thuộc vào kích thước ảnh, cấu hình xử lý, tốc độ ổ cứng
4.6. Troubleshooting
Lỗi: Ứng dụng không khởi động
- ✓ Kiểm tra Windows 7 SP1 64-bit trở lên
- ✓ Cài Visual C++ Redistributable 2015-2022
- ✓ Chạy với quyền Administrator
Lỗi: "Cannot write to output folder"
- ✓ Kiểm tra quyền ghi file
- ✓ Chọn thư mục khác hoặc chạy với Admin rights
- ✓ Tắt antivirus tạm thời
Lỗi: "Out of Memory"
- ✓ Giảm Thread Count xuống 2-4
- ✓ Đóng các ứng dụng khác
- ✓ Chia batch nhỏ hơn (5,000-10,000 ảnh/lần)
- ✓ Nâng cấp RAM
Lỗi: Xử lý quá chậm
- ✓ Giảm Quality xuống 80-85%
- ✓ Kiểm tra tốc độ ổ cứng (SSD > HDD)
- ✓ Tắt watermark nếu không cần
- ✓ Giảm số threads nếu CPU quá nóng
Lỗi: Một số ảnh bị lỗi
- ✓ Xem danh sách lỗi trong "Errors" tab
- ✓ Kiểm tra file gốc có bị corrupt
- ✓ Đảm bảo định dạng file hợp lệ
4.7. Tips & Best Practices
- Backup ảnh gốc trước khi xử lý
- Test với batch nhỏ (100-500 ảnh) để kiểm tra cấu hình
- Sử dụng SSD cho cả input và output folder
- Không đặt output = input folder
- Đảm bảo đủ dung lượng ổ cứng (tối thiểu 2x dung lượng gốc)
- Tắt sleep/hibernate khi xử lý batch lớn
- Monitor nhiệt độ CPU với batch rất lớn
- Chia batch 50,000+ ảnh thành nhiều lần nhỏ hơn
Leave a Reply