A imagem em lote substitui 2 cores

0

Eu sei que já existe essa pergunta, mas isso não me ajudou. Eu tenho um monte de arquivos de imagem, onde eu quero mudar RGB roxo (255, 0, 255) para transparente (é png). Existe algum aplicativo que possa fazer isso rapidamente? Eu uso o Linux, mas posso usar a ferramenta do Windows.

    
por Andy 11.05.2013 / 21:23

1 resposta

1

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.

    
por 12.05.2013 / 02:26