¿Cómo aplicar el suavizado a una capa con un fondo transparente?

12

Tengo una capa con algunos píxeles negros en el medio y un fondo transparente.

Si agrego un fondo blanco opaco debajo de él, fusiono ambos y luego hago clic en "Antialias" en el menú "Filtros", genera correctamente píxeles grises cuando corresponda. Sin embargo, tengo la intención de usar esta imagen sobre un fondo dinámico, por lo que no puedo usar anti-alias contra un color específico, pero si no agrego la capa opaca de fondo y solo uso el filtro Antialias, no sucede nada. Mi expectativa era que se generarían píxeles semitransparentes, para que se suavizara con diferentes fondos.

¿Hay alguna manera de lograr esto o estoy tratando de hacer algo mal?

Smig
fuente
1
¿Podría proporcionar capturas de pantalla de lo que está tratando de hacer?
JohnB

Respuestas:

5

Todavía no he probado esto, pero creo que descubrí una solución alternativa. Al solucionar otro problema, llegué a conocer la opción "Color a alfa", que parece exactamente lo que se necesita aquí. Creo que puedo obtener Antialiasing como de costumbre contra un color específico y luego usar Color to Alpha para convertir ese color en diferentes grados de transparencia. Esto funcionaría bien en capas simples con muy pocos colores, y probablemente sería problemático en patrones más ocupados, pero al menos se ajusta a mis propias necesidades.

Smig
fuente
Buen pensamiento, Smig. ¿Por qué no pensé en esto? De todos modos, gracias por un viejo problema mío. ¿Tal vez alguien debería pedirles a los desarrolladores de gimp que solucionen esto (o mejoren el filtro)?
e-motiv
1

He estado solucionando esto seleccionando la casilla alrededor del elemento que quiero antialias con un borde de 5 píxeles. Luego lleno el área transparente con un color que es diferente del elemento que estoy modificando, pero establezco la opacidad de relleno en 1. Mantenga seleccionada la casilla actual y haga el filtro antialias. Luego use la herramienta de selección difusa (con el umbral establecido en 0) y seleccione el área de relleno, que debería seleccionar todo hasta la nueva parte antialias. Luego borre su selección.

Para mí, tenía fondos de color sólido. Por lo tanto, elegiría el color de fondo, luego ajustaría la saturación o el valor en 1 en el selector de color, luego llenaría el área transparente con ese color. Esto obliga a las antialias a usar un color transparente de casi el mismo valor cuando realiza los cálculos, por lo que es como si estuvieras usando antialias con total transparencia (casi).

Noté que esto funciona bien con blanco o negro (opacidad 1) como color de relleno, pero ajusta ligeramente las antialias para que sean más claras u oscuras que el color de mi artículo. No es un gran problema, pero el efecto es más limpio si usa un color de relleno más cercano al color del borde de su elemento.

Del mismo modo, si usa un color de relleno rojo alrededor de un color no rojo (azul / verde / etc.), las antialias usarán el color rojo cuando aplique las antialias. Lo cual suele ser indeseable.

user2106060
fuente