Comment appliquer l'anticrénelage à un calque avec un fond transparent?

12

J'ai un calque avec quelques pixels noirs au milieu et un fond transparent.

Si j'ajoute un fond blanc opaque en dessous, que je fusionne les deux, puis que je clique sur "Anticrénelage" dans le menu "Filtres", il génère correctement des pixels gris le cas échéant. Cependant, j'ai l'intention d'utiliser cette image au-dessus d'un arrière-plan dynamique, donc je ne peux pas utiliser l'anti-alias contre une couleur spécifique, mais si je n'ajoute pas le calque opaque d'arrière-plan et que j'utilise simplement le filtre Antialias, rien ne se passe. Je m'attendais à ce que des pixels semi-transparents soient générés, afin qu'ils deviennent anti-aliasés avec différents arrière-plans.

Y a-t-il un moyen d'y parvenir ou est-ce que j'essaie de faire quelque chose de mal?

Smig
la source
1
Pourriez-vous fournir des captures d'écran de ce que vous essayez de faire?
JohnB

Réponses:

5

Je n'ai toujours pas testé cela, mais je pense avoir trouvé une solution de contournement. En résolvant un autre problème, j'ai découvert l'option "Color to Alpha", qui semble exactement ce dont nous avons besoin ici. Je pense que je peux obtenir l'anticrénelage comme d'habitude contre une couleur spécifique, puis utiliser Color to Alpha pour transformer cette couleur en différents degrés de transparence. Cela fonctionnerait bien sur des calques simples avec très peu de couleurs, et ce serait probablement problématique dans les modèles plus occupés, mais cela correspond au moins à mes propres besoins.

Smig
la source
Bonne pensée, Smig. pourquoi n'y ai-je pas pensé? Quoi qu'il en soit, merci pour un problème très ancien. Peut-être que quelqu'un devrait demander aux développeurs de gimp de corriger cela (ou d'améliorer le filtre)?
e-motiv
1

J'ai contourné ce problème en sélectionnant autour de l'élément que je veux antialias avec une bordure de 5 pixels. Ensuite, je remplis la zone transparente avec une couleur différente de l'élément que je modifie, mais je définis l'opacité de remplissage sur 1. Gardez la case actuelle sélectionnée et faites le filtre anti-crénelage. Ensuite, utilisez l'outil de sélection floue (avec le seuil défini sur 0) et sélectionnez la zone de remplissage, qui devrait tout sélectionner jusqu'à la nouvelle partie anti-crénelage. Supprimez ensuite votre sélection.

Pour moi, j'avais des arrière-plans de couleur unie. Je choisirais donc la couleur de l'arrière-plan, puis ajusterais la saturation ou la valeur de 1 dans le sélecteur de couleur, puis remplirais la zone transparente avec cette couleur. Cela force l'anticrénelage à utiliser une couleur transparente de presque la même valeur lors des calculs, c'est donc comme si vous lissiez l'anti-crénelage avec une transparence totale (presque).

J'ai remarqué que cela fonctionne bien avec le noir ou le blanc (opacité 1) comme couleur de remplissage, mais cela ajuste légèrement les antialias pour qu'elles soient plus claires ou plus sombres que la couleur de mon article. Ce n'est pas grave, mais l'effet est plus propre si vous utilisez une couleur de remplissage plus proche de la couleur de la bordure de votre article.

De même, si vous utilisez une couleur de remplissage rouge autour d'une couleur non rouge (bleu / vert / etc), les antialias utiliseront la couleur rouge lors de l'application des antialias. Ce qui est généralement indésirable.

user2106060
la source