Como aplicar anti-aliasing a uma camada com fundo transparente?

12

Eu tenho uma camada com alguns pixels pretos no meio e um fundo transparente.

Se eu adicionar um plano de fundo branco opaco, mesclar os dois e clicar em "Antialias" no menu "Filtros", ele gerará corretamente pixels cinza quando apropriado. No entanto, pretendo usar esta imagem em cima de um plano de fundo dinâmico, por isso não posso usar anti-alias contra uma cor específica, mas se eu não adicionar a camada opaca do plano de fundo e usar o filtro Antialias, nada acontece. Minha expectativa era que pixels semitransparentes fossem gerados, para que se tornassem anti-alias com diferentes origens.

Existe uma maneira de conseguir isso ou estou tentando fazer algo errado?

Smig
fonte
1
Você poderia fornecer capturas de tela do que você está tentando fazer?
JohnB 5/05

Respostas:

5

Ainda não testei isso, mas acho que descobri uma solução alternativa. Ao solucionar outro problema, conheci a opção "Color to Alpha", que parece exatamente o que é necessário aqui. Acho que posso usar o Antialiasing como de costume em uma cor específica e depois usar Color to Alpha para transformar essa cor em diferentes graus de transparência. Isso funcionaria bem em camadas simples, com muito poucas cores, e provavelmente seria problemático em padrões mais ocupados, mas atende às minhas próprias necessidades.

Smig
fonte
Bem pensado, Smig. por que não pensei nisso? De qualquer forma, obrigado por um problema muito antigo meu. Talvez alguém deva pedir aos desenvolvedores do gimp para corrigir isso (ou melhorar o filtro)?
e-motiv
1

Eu estive contornando isso marcando o item que quero antialias com uma borda de 5 pixels. Em seguida, preencho a área transparente com uma cor diferente do item que estou modificando, mas defino a opacidade de preenchimento como 1. Mantenha a caixa atual selecionada e faça o filtro antialias. Em seguida, use a ferramenta de seleção difusa (com limite definido como 0) e selecione a área de preenchimento, que deve selecionar tudo até a nova parte de antialias. Em seguida, exclua sua seleção.

Para mim, eu tinha fundos de cores sólidas. Então, eu escolheria a cor de fundo, ajustaria a saturação ou o valor em 1 no seletor de cores e preencheria a área transparente com essa cor. Isso força as antialias a usar uma cor transparente quase do mesmo valor quando faz os cálculos, por isso é como se você estivesse antialias com transparência total (quase).

Percebi que isso funciona bem com preto ou branco (opacidade 1) como cor de preenchimento, mas ajusta ligeiramente as antialias para serem mais claras ou mais escuras do que a cor do item. Não é grande coisa, mas o efeito é mais limpo se você usar uma cor de preenchimento mais próxima da cor da borda do item.

Da mesma forma, se você usar uma cor de preenchimento vermelho em torno de uma cor não vermelha (azul / verde / etc), as antialias usarão a cor vermelha quando aplicar as antialias. O que geralmente é indesejável.

user2106060
fonte