Como a maioria das perguntas que envolvem transformações em lote de arquivos de imagem raster, a resposta deve ser encontrada no kit de ferramentas netpbm . Neste caso, se suas imagens png ainda não tiverem um canal alfa, a solução mais simples será converter de png para pnm e vice-versa; no caminho de volta, você pode especificar uma cor transparente:
pngtopnm $file | pnmtopng -transparent==rgb:ff/00/ff > new.$file
Se suas imagens PNG já tiverem um canal alfa (ou uma cor de plano de fundo transparente diferente), você precisará extrair o canal alfa existente e combiná-lo com um novo canal alfa que consiste nos pixels "roxos". Veja a opção de linha de comando -alpha
para pngtopnm
e pnmtopng
. Você pode usar ppmchange
para criar bitmaps correspondentes a uma cor específica em uma imagem. Você pode usar ppmcomp
ou pnmarith
para compor duas imagens. (Se as imagens forem bitmaps, pnmarith -max
e pnmarith -min
serão bit a bit or
e and
, respectivamente.)
Se a transformação não estiver disponível no kit de ferramentas netpbm, geralmente é muito fácil fazê-lo com um script de shell ou um programa python; basta converter as imagens para o formato simples, o que é muito fácil de trabalhar.