- Hình ảnh đầu vào là các đồ họa đơn giản, độ tương phản cao như logo, banner, pixel art
- Định dạng đầu ra gồm văn bản đơn sắc, văn bản màu ANSI, HTML, định dạng ASCII art của Neofetch
Tùy chọn
- Đầu vào: có thể chuyển đổi đồng thời nhiều định dạng ảnh (png, svg, jpg, v.v.).
- Đầu ra: hỗ trợ văn bản đơn sắc, văn bản màu ANSI, HTML, định dạng ASCII art của Neofetch.
- Bảng màu: mặc định dùng 240 màu và người dùng có thể điều chỉnh số lượng màu.
- Cỡ phông và chiều cao dòng: có thể thiết lập cỡ phông và chiều cao dòng để tối ưu ASCII art trong terminal.
- Tỷ lệ: có thể điều chỉnh tệp ảnh đầu vào theo kích thước sẽ hiển thị trong terminal.
- Độ tối: có thể điều chỉnh ngưỡng độ sáng để xử lý nền thành trong suốt.
- Luồng: có thể phân phối tác vụ chuyển đổi lên nhiều bộ xử lý để tăng tốc độ xử lý.
Thuật toán
- Phân tách ảnh: tách ảnh thành các mặt phẳng màu và chia mỗi mặt phẳng thành các vùng hình chữ nhật 9×19 pixel.
- Chọn ký tự tối ưu: chuyển đổi bằng cách chọn ký tự ASCII tối ưu phù hợp với từng vùng.
- Sử dụng bitmask: dùng bitmask để nhanh chóng tìm các ký tự khả dụng nhằm tăng tốc độ chuyển đổi.
- Tách mặt phẳng màu: tách các mặt phẳng màu bằng công thức sai khác màu CIEDE2000.
Ý kiến của GN⁺
- Điểm thú vị: ASCII Silhouettify không chỉ dừng ở việc chuyển đổi ảnh đơn giản mà còn hỗ trợ nhiều định dạng đầu ra, nên tính ứng dụng khá cao.
- Vì sao hữu ích: có thể chuyển logo hoặc banner thành ASCII art để biểu diễn trực quan trong môi trường terminal.
- Góc nhìn phê bình: hình ảnh độ phân giải cao hoặc đồ họa phức tạp có thể khó chuyển đổi.
- Sản phẩm thay thế: cũng có những công cụ tạo ASCII art khác tận dụng ANSI art hoặc kaomoji.
- Điều cần cân nhắc khi áp dụng: nên sử dụng với sự cân nhắc giữa tốc độ chuyển đổi và chất lượng đầu ra. Đặc biệt, thiết lập bảng màu và phông chữ là rất quan trọng.
1 bình luận
Ý kiến trên Hacker News