Pular para o conteúdo

Como juntar imagens em um sprite PNG e exportar o CSS

O gerador desenha as imagens escolhidas em um PNG transparente e escreve o CSS que recoloca cada imagem na tela com background-position. O canvas monta a folha e o JSZip prepara o arquivo, tudo dentro da página: nada é enviado.

Cada célula tem a largura e a altura da maior imagem da seleção, e cada imagem é centralizada na própria célula. As regras mantêm o tamanho original de cada imagem: um ícone de 16 × 16 e uma faixa de 64 × 4 dividem a mesma folha sem serem redimensionados.

  1. Adicione até 50 imagens pelo seletor de arquivos ou arrastando para a área de soltar. Cada linha mostra o nome e o tamanho; as setas reordenam e o botão remover tira um arquivo.
  2. Escolha o layout: Grade, Uma linha ou Uma coluna. Colunas vale para a grade e aceita de 1 a 20.
  3. Defina o espaçamento (0–128 px) — o espaço dentro do canvas, ao redor e entre as células — e o prefixo de classe dos seletores gerados.
  4. Clique em Gerar sprite. O painel informa a quantidade de arquivos, as dimensões da folha, o tamanho do PNG e quantas regras CSS foram geradas, e a prévia mostra o resultado.
  5. Copiar CSS coloca a folha de estilos na área de transferência; Baixar PNG + CSS salva voritools-css-sprite.zip com voritools-sprite.png e voritools-sprite.css; Limpar esvazia lista, opções e exportações juntas.

Layout, nomes de classe e limites do canvas

O que a folha de estilos exportada contém

O arquivo abre com uma classe base — .sprite-<prefixo> com display: inline-block, background-image: url("voritools-sprite.png") e background-repeat: no-repeat — seguida de uma regra por imagem: .<prefixo>-<nome> com largura, altura e background-position negativa dentro da folha.

O prefixo e os nomes de arquivo passam pela mesma normalização: minúsculas, sequências de outros caracteres viram um hífen e os hífens das pontas saem. my icon.png vira my-icon, um nome repetido recebe -2 e -3, e um prefixo que fica vazio volta para icon, para a classe base e as regras combinarem.

Limites aplicados pela página

Cada execução aceita no máximo 50 arquivos e 250 MB de entrada, e o canvas não pode passar de 16384 pixels por lado nem de 32.000.000 pixels no total. Uma folha maior para com “A tela gerada é grande demais para processamento confiável no navegador.” e não exporta nada.

O 51º arquivo não é descartado em silêncio: a linha de status informa quantos ficaram fora do limite e a lista mantém os 50 primeiros. Colunas e Espaçamento são arredondados para pixels inteiros antes do uso — 2,5 vira 3 colunas — e o campo mostra o valor aplicado.

Onde o trabalho acontece e o que é aceito

Tudo roda no navegador. Adicionar imagens, gerar, copiar o CSS, baixar o ZIP e limpar a lista não enviaram nenhuma requisição de rede no teste (en, fr e ja) depois que a página carregou, e as imagens não saem do dispositivo.

A folha é desenhada com o decodificador do próprio navegador, então PNG, JPEG e SVG carregam como em qualquer outra página; um arquivo truncado ou vazio é recusado com “Este navegador não consegue decodificar esse formato de arquivo.” Um SVG sem width e height é desenhado no tamanho padrão do navegador, 300 × 150.

Ferramentas recentes: