{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}
Nghệ thuật điểm ảnh
Pixel art với bảng màu thời đại (NES, Game Boy, PICO-8).
Siêu dữ liệu kỹ năng
| Nguồn | Đi kèm (được cài đặt theo mặc định) |
| Đường dẫn |
skills/creative/pixel-art ` | | Phiên bản |
2.0.0 ` | | Tác giả | dodo-đạt | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |
creative
, `pixel-art
, `arcade
, `snes
, `nes
, `gameboy
, `retro
, `image
,
video |
Tham khảo: đầy đủ SKILL.md
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
Nghệ thuật điểm ảnh
Chuyển đổi bất kỳ hình ảnh nào thành nghệ thuật pixel retro, sau đó tùy ý tạo hoạt ảnh cho nó thành một đoạn ngắn MP4 hoặc GIF với các hiệu ứng phù hợp với thời đại (mưa, đom đóm, tuyết, than hồng).
Hai tập lệnh đi kèm với kỹ năng này:
scripts/pixel_art.py — ảnh → pixel-art PNG (phối màu Floyd-Steinberg)
`scripts/pixel_art_video.py
- PNG nghệ thuật pixel → MP4 hoạt hình (+ GIF tùy chọn)
Mỗi cái đều có thể nhập hoặc chạy được trực tiếp. Cài đặt trước gắn vào bảng phần cứng khi bạn muốn màu sắc chính xác theo thời đại (NES, Game Boy, PICO-8, v.v.) hoặc sử dụng lượng tử hóa màu N thích ứng cho giao diện kiểu arcade/SNES.
Khi nào nên sử dụng
- Người dùng muốn nghệ thuật pixel retro từ hình ảnh nguồn
- Người dùng yêu cầu kiểu dáng NES / Game Boy / PICO-8 / C64 / arcade / SNES
- Người dùng muốn có hoạt ảnh lặp lại ngắn (cảnh mưa, bầu trời đêm, tuyết, v.v.)
- Áp phích, bìa album, bài đăng trên mạng xã hội, họa tiết, nhân vật, hình đại diện
Quy trình làm việc
Trước khi tạo, hãy xác nhận kiểu với người dùng. Các cài đặt trước khác nhau tạo ra đầu ra rất khác nhau và việc tái tạo rất tốn kém.
Bước 1 - Đưa ra một phong cách
Gọi
clarify với 4 cài đặt trước đại diện. Chọn bộ dựa trên những gì
người dùng đã yêu cầu - đừng bỏ tất cả 14.
Menu mặc định khi ý định của người dùng không rõ ràng:
clarify(
question="Which pixel-art style do you want?",
choices=[
"arcade — bold, chunky 80s cabinet feel (16 colors, 8px)",
"nes — Nintendo 8-bit hardware palette (54 colors, 8px)",
"gameboy — 4-shade green Game Boy DMG",
"snes — cleaner 16-bit look (32 colors, 4px)",
],
)
`
``Khi người dùng đã đặt tên cho một thời đại (ví dụ: "game arcade thập niên 80", "Gameboy"), hãy bỏ qua
`clarify
` và sử dụng trực tiếp cài đặt trước phù hợp.
### Bước 2 — Cung cấp hoạt ảnh (tùy chọn)
Nếu người dùng yêu cầu video/GIF hoặc đầu ra có thể được hưởng lợi từ chuyển động,
hỏi cảnh nào:
`Python
clarify(
question="Want to animate it? Pick a scene or skip.",
choices=[
"night — stars + fireflies + leaves",
"urban — rain + neon pulse",
"snow — falling snowflakes",
"skip — just the image",
],
)
`
``KHÔNG gọi
`clarify
` quá hai lần liên tiếp. Một cho phong cách, một cho cảnh nếu
hình ảnh động ở trên bàn. Nếu người dùng yêu cầu rõ ràng về một kiểu cụ thể
và cảnh trong tin nhắn của họ, hãy bỏ qua hoàn toàn
`clarify
.
### Bước 3 - Tạo
Chạy
`pixel_art()
` trước; nếu hoạt ảnh được yêu cầu, hãy xâu chuỗi vào
`pixel_art_video()
` trên kết quả.
## Danh mục cài sẵn
| Đặt trước | Thời đại | Bảng màu | Chặn | Tốt nhất cho |
|--------|------|---------|-------|----------|
|
`arcade
` | trò chơi điện tử thập niên 80 | thích ứng 16 | 8px | Áp phích táo bạo, nghệ thuật anh hùng |
|
`snes
` | 16-bit | thích ứng 32 | 4px | Nhân vật, cảnh chi tiết |
|
`nes
` | 8-bit | NES (54) | 8px | Giao diện NES đích thực |
|
`gameboy
` | DMG cầm tay | 4 sắc xanh | 8px | Game Boy đơn sắc |
|
`gameboy_pocket
` | Thiết bị cầm tay bỏ túi | 4 màu xám | 8px | Túi đơn GB |
|
`pico8
` | PICO-8 | 16 cố định | 6px | Giao diện giả tưởng |
|
`c64
` | Hàng hóa 64 | 16 cố định | 8px | Máy tính gia đình 8-bit |
|
`Apple2
` | Độ phân giải cao của Apple II | 6 cố định | 10px | Cực chất retro, 6 màu |
|
`teletext
` | BBC Teletext | 8 tinh khiết | 10px | Màu cơ bản Chunky |
|
`mspaint
` | Windows MS Sơn | 24 cố định | 8px | Máy tính để bàn hoài cổ |
|
`mono_green
` | phốt pho CRT | 2 màu xanh lá cây | 6px | Thẩm mỹ terminal/CRT |
|
`mono_amber
` | CRT hổ phách | 2 hổ phách | 6px | Giao diện màn hình màu hổ phách |
|
`neon
` | Cyberpunk | 10 neon | 6px | Sóng hơi/mạng |
|
`pastel
` | Phấn mềm | 10 phấn màu | 6px | Kawaii / dịu dàng |
Các bảng màu được đặt tên tồn tại trong
`scripts/palettes.py
` (xem
`references/palettes.md
` để biết
danh sách đầy đủ - tổng cộng 28 bảng màu được đặt tên). Bất kỳ giá trị đặt trước nào cũng có thể bị ghi đè:
`Python
pixel_art("in.png", "out.png", preset="snes", palette="PICO_8", block=6)
`
## Danh mục cảnh (dành cho video)| Cảnh | Hiệu ứng |
|-------|----------|
|
`night
` | Sao lấp lánh + đom đóm + lá trôi |
|
`dusk
` | Đom đóm + lấp lánh |
|
`tavern
` | Hạt bụi + lấp lánh ấm áp |
|
`indoor
` | Bụi bẩn |
|
`urban
` | Mưa + xung neon |
|
`nature
` | Lá + đom đóm |
|
`magic
` | Lấp lánh + đom đóm |
|
`storm
` | Mưa + sét |
|
`underwater
` | Bong bóng + ánh sáng lấp lánh |
|
`fire
` | Than hồng + lấp lánh |
|
`snow
` | Bông tuyết + lấp lánh |
|
`desert
` | Nhiệt lung linh + bụi |
## Các mẫu lời gọi
### Python (nhập)
`Python
import sys
sys.path.insert(0, "/home/teknium/.Hermes/skills/creative/pixel-art/scripts")
from pixel_art import pixel_art
from pixel_art_video import pixel_art_video
# 1. Convert to pixel art
pixel_art("/path/to/photo.jpg", "/tmp/pixel.png", preset="nes")
# 2. Animate (optional)
pixel_art_video(
"/tmp/pixel.png",
"/tmp/pixel.mp4",
scene="night",
duration=6,
fps=15,
seed=42,
export_gif=True,
)
`
``###CLI
`bash
cd /home/teknium/.Hermes/skills/creative/pixel-art/scripts
Python pixel_art.py in.jpg out.png --preset gameboy
Python pixel_art.py in.jpg out.png --preset snes --palette PICO_8 --block 6
Python pixel_art_video.py out.png out.mp4 --scene night --duration 6 --gif
`
## Cơ sở lý luận về đường ống`**Chuyển đổi pixel:**
1. Tăng độ tương phản/màu sắc/độ sắc nét (mạnh hơn cho các bảng màu nhỏ hơn)
2. Posterize để đơn giản hóa các vùng âm trước khi lượng tử hóa
3. Hạ cấp
`block
` xuống
`Image.NEAREST
` (pixel cứng, không nội suy)
4. Lượng tử hóa bằng phối màu Floyd-Steinberg - chống lại một phương pháp thích ứng
Bảng màu N HOẶC bảng màu phần cứng được đặt tên
5. Trở lại nâng cấp với
`Image.NEAREST
``Lượng tử hóa SAU tỷ lệ thu nhỏ giúp phối màu được căn chỉnh với lưới pixel cuối cùng.
Việc lượng hóa trước sẽ lãng phí việc phân tán lỗi ở những chi tiết biến mất.
**Lớp phủ video:**
- Sao chép khung cơ sở từng dấu tích (nền tĩnh)
- Lớp phủ vẽ hạt không trạng thái trên mỗi khung hình (một chức năng cho mỗi hiệu ứng)
- Mã hóa qua ffmpeg
`libx264 -pix_fmt yuv420p -crf 18
- GIF tùy chọn qua
`palettegen
+
`paletteuse
## Sự phụ thuộc
- Python 3.9+
- Gối (
`pip install Pillow
)
- ffmpeg trên PATH (chỉ cần cho video - Hermes cài đặt gói này)
## Cạm bẫy
- Khóa pallet phân biệt chữ hoa chữ thường (
"NES"
,
"PICO_8"
,
"GAMEBOY_ORIGINAL"
).
- Các nguồn rất nhỏ (<rộng 100px) thu gọn dưới các khối 8-10px. Nâng cấp
nguồn đầu tiên nếu nó nhỏ.
- Phân số
`block
` hoặc
`palette
` sẽ phá vỡ lượng tử hóa — giữ chúng ở số nguyên dương.
- Số lượng hạt hoạt ảnh được điều chỉnh cho khung vẽ ~ 640x480. Trên rất lớn
hình ảnh bạn có thể muốn vượt qua lần thứ hai với một hạt giống khác về mật độ.
-
`mono_green
` /
`mono_amber
` buộc
`color=0.0
` (khử bão hòa). Nếu bạn ghi đè
và giữ nguyên sắc độ, bảng 2 màu có thể tạo ra các sọc trên các vùng mịn.
- Vòng lặp
`clarify
: gọi tối đa hai lần mỗi lượt (kiểu, sau đó là cảnh). Đừng
khiến người dùng có nhiều lựa chọn hơn.
## Xác minh
- PNG được tạo ở đường dẫn đầu ra
- Xóa các khối pixel vuông hiển thị ở kích thước khối cài sẵn
- Số màu khớp với giá trị đặt trước (nhãn cầu hình ảnh hoặc chạy
`Image.open(p).getcolors()
)
- Video là MP4 hợp lệ (
`ffprobe
` có thể mở được) với kích thước khác 0
## Ghi công
Các bảng phần cứng được đặt tên và các vòng lặp hoạt ảnh theo thủ tục trong
`pixel_art_video.py
được chuyển từ [pixel-art-studio](https://GitHub.com/Synero/pixel-art-studio)
(MIT). Xem
`ATTRIBUTION.md
` trong thư mục kỹ năng này để biết chi tiết.