Transferir transparência de uma imagem para outra usando imagemagick

0

Estou tentando tirar o canal alfa de uma imagem e aplicá-lo a outra.

Neste caso particular, quero "consertar" os cantos da cor rosa. Eu quero usar o canal alfa do preto. Isso deve suavizar os cantos bem.

Já experimentei comandos como convert pink.png black.png -compose copy-opacity -composite out.png , mas parece que só aparece com a mesma transparência que já tinha.

Alguém por favor pode explicar como fazer isso?

    
por Tom 19.02.2014 / 07:29

1 resposta

0

Resposta direta

Para fazer com que pink.png tenha o mesmo canal alfa que black.png use:

convert pink.png black.png -compose CopyOpacity -composite PNG32:fixed.png

Explicação

O problema fundamental era que o Imagemagick não estava escolhendo um formato PNG que suportasse pixels semitransparentes. É por isso que minhas bordas ficaram irregulares quando eu estava mudando a cor em primeiro lugar. Você tem várias opções para manter a transparência parcial:

convert (command) PNG32:out.png
convert (command) PNG64:out.png
convert (command) out.tif

Consulte a documentação do Imagemagick sobre sub-formatos PNG para descobrir que tipo de canal alfa cada um possui.

    
por 20.02.2014 / 01:18