Sobre o projeto
Sprite Fusion Pixel Snapper é uma ferramenta projetada para ajustar pixels a uma grade perfeita, especificamente para corrigir pixel art bagunçada e inconsistente gerada por IA. Ela resolve problemas como tamanhos e posições de pixels inconsistentes, resolução de grade à deriva e cores não vinculadas a uma paleta estrita. A ferramenta garante que os pixels sejam ajustados a uma grade perfeita, mantém uma resolução de grade consistente que pode ser escalada e quantiza as cores para uma paleta estrita, com suporte a paletas personalizadas.
É ideal para pixel art gerada por IA, arte 2D procedural que não se encaixa em uma grade (como tilemaps ou mapas isométricos) e assets de jogos 2D ou texturas 3D que precisam ser perfeitamente escaláveis. A ferramenta preserva o máximo de detalhes possível, incluindo dithering.
## Recursos
- **Ajuste à grade**: Os pixels são alinhados a uma grade perfeita.
- **Resolução consistente**: A resolução da grade é consistente e pode ser escalada para a resolução de pixels.
- **Quantização de paleta**: As cores são vinculadas a uma paleta estrita e quantizada; paletas personalizadas são suportadas.
- **Processamento em lote**: Processa diretórios inteiros de imagens.
- **CLI e Web (WASM)**: Disponível como ferramenta de linha de comando e como módulo WebAssembly para integração em projetos web.
- **Versão desktop**: Também disponível como aplicativo desktop.
## Uso da CLI
Instale via Homebrew:
```bash
brew install Hugo-Dz/tap/spritefusion-pixel-snapper
```
Ou via Cargo (requer Rust):
```bash
cargo install spritefusion-pixel-snapper
```
Uso:
```text
spritefusion-pixel-snapper <INPUT> <OUTPUT> [COLOR_COUNT] [OPTIONS]
```
- `<INPUT>`: Uma imagem PNG/JPEG, ou um diretório para processamento em lote.
- `<OUTPUT>`: Um PNG de saída, ou um diretório de saída diferente para um lote.
- `[COLOR_COUNT]`: Número de cores da paleta. O padrão é `16`.
- `--pixel-size <PIXELS>`: Substitui o tamanho de pixel detectado automaticamente. Deve estar entre 1 e metade da menor dimensão da imagem.
- `--palette <HEX,...>`: Restringe a saída a cores hexadecimais de seis dígitos separadas por vírgula.
Exemplos:
```bash
# Quantiza a imagem para uma paleta de 16 cores
spritefusion-pixel-snapper input.png output.png 16
# Processa um diretório como um lote
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16
# Substitui o tamanho de pixel detectado automaticamente
spritefusion-pixel-snapper input.png output.png --pixel-size 8
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs 16 --pixel-size 8
# Usa uma paleta de cores fixa
spritefusion-pixel-snapper input.png output.png --palette "0d2b45,203c56,544e68,8d697a,d08159,ffaa5e,ffd4a3,ffecd6"
spritefusion-pixel-snapper sprites/batch_inputs sprites/batch_outputs --palette "0d2b45,203c56,544e68,8d697a"
```
Execute `spritefusion-pixel-snapper --help` para ver todas as opções.
## Uso Web (WASM)
Compile o módulo WASM:
```bash
wasm-pack build --target web --out-dir pkg --release
```
Depois use-o em seu projeto:
```js
import init, { process_image } from "./pkg/spritefusion_pixel_snapper.js";
await init();
// process_image(inputBytes, kColors?, pixelSizeOverride?, paletteHex?)
const outputBytes = process_image(inputBytes, 16);
// Com uma paleta personalizada
const recoloredBytes = process_image(inputBytes, null, null, "0f0f1b,ffecd6,ff4d6d,29adff");
```
Passe `null` para qualquer argumento opcional para usar o comportamento padrão.
## Compilar a partir do código-fonte
```bash
git clone https://github.com/Hugo-Dz/spritefusion-pixel-snapper.git
cd spritefusion-pixel-snapper
cargo build --release
```
O binário estará em `target/release/spritefusion-pixel-snapper`.
## Agradecimentos
Pixel Snapper é um projeto Sprite Fusion. Sprite Fusion é uma ferramenta para gerar sprites e animações de VERDADEIRA pixel art para desenvolvimento de jogos.
## Licença
Licença MIT (Hugo Duprez)
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.