Como converter imagens PNG/JPEG para SVG em linha de comando

Publicado por Fábio Berbert de Paula em 27/05/2025

[ Hits: 152 ]

Blog: https://fabio.automatizando.dev

 


Como converter imagens PNG/JPEG para SVG em linha de comando



DISCLAIMER: esse procedimento só funcionará para imagens monocromáticas, ou seja, imagens que possuem apenas duas cores (preto e branco). Se a imagem for colorida, ela será convertida para um formato monocromático, o que pode não ser o resultado desejado. Para imagens coloridas, você precisaria de um processo mais complexo que envolve vetorização avançada, isso pode ser obtido através de softwares como Inkscape ou ferramentas online especializadas.

Para converter imagens PNG ou JPEG para SVG usando a linha de comando, você pode usar uma combinação entre o ImageMagick e o potrace. Aqui estão os passos para realizar essa conversão:

1. Instalar o ImageMagick e o Potrace

No Ubuntu/Debian, você pode instalar ambos com o seguinte comando:

sudo apt-get install imagemagick potrace

No macOS, você pode usar o Homebrew:

brew install imagemagick potrace

2. Converter a imagem PNG/JPEG para um formato de bitmap (PBM)

Use o ImageMagick para converter a imagem PNG ou JPEG para um formato de bitmap PBM. Execute o seguinte comando:

convert input.png output.pbm

Onde:
  • `input.png` é o arquivo de entrada (pode ser um arquivo JPEG também).
  • `output.pbm` é o arquivo de saída no formato PBM.

3. Converter o arquivo PBM para SVG usando o Potrace

Agora, use o Potrace para converter o arquivo PBM para SVG. Execute o seguinte comando:

potrace output.pbm -s -o output.svg

Onde:
  • `output.pbm` é o arquivo de entrada no formato PBM.
  • `output.svg` é o arquivo de saída no formato SVG.

4. Verificar o arquivo SVG

Você pode verificar o arquivo SVG gerado usando um visualizador de SVG ou um navegador web. Basta abrir o arquivo `output.svg` no seu navegador para ver a imagem convertida.

Bônus: SVG colorido com o Inkscape

Se você deseja converter imagens coloridas para SVG, uma opção é usar o Inkscape, que possui uma ferramenta de rastreamento de bitmap. Você pode abrir a imagem no Inkscape e usar a opção "Rastrear Bitmap" para criar um SVG colorido. No entanto, isso não é feito via linha de comando e requer interação com a interface gráfica do usuário.

Instale o Inkscape no Ubuntu/Debian com:

sudo apt-get install inkscape

No macOS, você pode instalar o Inkscape usando o Homebrew:

brew install --cask inkscape

Com o Inkscape instalado, você pode abrir a imagem com o comando:

inkscape input.png

E então clicar em:

Path > Trace Bitmap

e selecionar "Multiple Scans" para criar um SVG colorido. Após isso, você pode salvar o arquivo como SVG clicando em:
File > Save As

e escolhendo o formato SVG.

Outras dicas deste autor

Como evitar que o CSS do teu site fique armazenado em cache

Converter imagens para fundo transparente via linha de comando

Monitorando caixas postais com o wmbiff

Tema Escuro no Chrome Developer Tools (Dark Mode)

Como omitir/filtrar mensagens inúteis no log (rsyslogd)

Leitura recomendada

Recuperando apt-get após "falha de segmentação"

Após instalação do Windows o Grub some?

Reproduzindo somente áudio com o mplayer

Renomeando múltiplos arquivos com mmv

Cuidado com o "sl"

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts