Publicado em: 15 de Fevereiro de 2026
Dithering e Transparência
Nos últimos dias tenho andado entretido a explorar o terminal do meu Raspberry Pi 400. Entre configurar o NeoMutt para o mail, aBook para contactos e o nsxiv para ver fotos, acabei por descobrir um site incrível: Low-Tech Magazine. A forma como eles utilizam a tecnologia fez-me olhar para as fotografias do meu blog de outra forma.
O meu objectivo foi tentar reduzir uma imagem original ao mais simples possível, poupar recursos e criar uma estética de autores clássicos da BD como o Bernie Wrightson ou Frank Miller.
No terminal levei muito mais tempo do que alguma vez pensei até conseguir fazer qualquer coisa com o ImageMagick. Para conseguir um efeito de um jornal antigo (dithering / difusão de erro) com uma particularidade técnica interessante ainda levei mais tempo, mas o comando final ficou assim:
convert "x raw photos/foto.jpg" \
-resize 600x -brightness-contrast 10x30 \
-gamma 1.2 -colorspace gray \
-dither FloydSteinberg \
-remap pattern:gray50 -fill "#000000" \
-opaque black -transparent white \
"z jpg script/foto_fs.png"
O que está a acontecer?
A imagem final é (tecnicamente) um bitmask. Embora o ficheiro esteja em formato PNG, a informação visual resume-se a 1-bit: ou existe cor (o preto #000000) ou existe transparência.
O parâmetro -transparent white faz o "branco" da imagem deixar de existir, e a cor de fundo do elemento HTML passar através da imagem. O resultado são quatro imagens que parecem diferentes, mas na verdade são o mesmo ficheiro, apenas com diferentes cores de fundo:
Conclusão: Ter um sistema com 4GB de RAM e trabalhar via CLI obriga a uma disciplina que ainda estou a assimilar. Provavelmente, com o tempo, vou ganhar memória muscular e acabar por perder menos tempo no terminal, mas neste momento, mesmo as tarefas básicas são um desafio.
Em resumo: muito menos bytes, menos processamento e uma ligação directa entre o código e o resultado visual. Não fazia ideia de que ia gostar tanto disto. Levei quase 27 anos a descobrir esta simplicidade.