Wie wende ich Anti-Aliasing auf eine Ebene mit transparentem Hintergrund an?

12

Ich habe eine Ebene mit einigen schwarzen Pixeln in der Mitte und einem transparenten Hintergrund.

Wenn ich einen undurchsichtigen weißen Hintergrund darunter hinzufüge, beide zusammenführe und dann im Menü "Filter" auf "Antialias" klicke, werden gegebenenfalls graue Pixel korrekt generiert. Ich beabsichtige jedoch, dieses Bild über einem dynamischen Hintergrund zu verwenden, sodass ich keinen Anti-Alias ​​für eine bestimmte Farbe verwenden kann. Wenn ich jedoch nicht die undurchsichtige Hintergrundebene hinzufüge und nur den Antialias-Filter verwende, geschieht nichts. Meine Erwartung war, dass halbtransparente Pixel erzeugt werden, so dass sie mit unterschiedlichen Hintergründen anti-aliasiert werden.

Gibt es eine Möglichkeit, dies zu erreichen, oder versuche ich, etwas falsch zu machen?

Smig
quelle
1
Könnten Sie Screenshots von dem machen, was Sie versuchen zu tun?
JohnB

Antworten:

5

Ich habe dies noch nicht getestet, aber ich glaube, ich habe eine Problemumgehung gefunden. Bei der Fehlerbehebung bei einem anderen Problem habe ich die Option "Color to Alpha" kennengelernt, die genau das zu sein scheint, was hier benötigt wird. Ich denke, ich kann Antialiasing wie gewohnt gegen eine bestimmte Farbe durchführen und dann Color to Alpha verwenden, um diese Farbe in verschiedene Transparenzgrade umzuwandeln. Dies würde auf einfachen Ebenen mit sehr wenigen Farben gut funktionieren, und es wäre wahrscheinlich problematisch in geschäftigeren Mustern, aber es passt zumindest zu meinen eigenen Bedürfnissen.

Smig
quelle
Gutes Denken, Smig. Warum habe ich nicht daran gedacht? Wie auch immer, danke für ein sehr altes Problem von mir. Vielleicht sollte jemand Gimp-Entwickler bitten, dies zu beheben (oder den Filter zu verbessern)?
E-Motiv
1

Ich habe dies umgangen, indem ich das Element ausgewählt habe, für das ich Antialias mit einem 5-Pixel-Rand verwenden möchte. Dann fülle ich den transparenten Bereich mit einer Farbe, die sich von dem Element unterscheidet, das ich ändere, aber setze die Füllopazität auf 1. Lassen Sie das aktuelle Feld ausgewählt und führen Sie den Antialias-Filter aus. Verwenden Sie dann das Fuzzy-Auswahlwerkzeug (mit dem Schwellenwert 0) und wählen Sie den Füllbereich aus, der alles bis zum neuen Antialias-Teil auswählen soll. Dann löschen Sie Ihre Auswahl.

Für mich hatte ich einfarbige Hintergründe. Also würde ich die Hintergrundfarbe farblich auswählen, dann die Sättigung oder den Wert in der Farbauswahl um 1 anpassen und dann den transparenten Bereich mit dieser Farbe füllen. Dies zwingt die Antialias dazu, bei den Berechnungen eine transparente Farbe mit fast demselben Wert zu verwenden. Es ist also so, als würden Sie (fast) Antialiasing mit voller Transparenz durchführen.

Ich habe festgestellt, dass dies gut mit Schwarz oder Weiß (Deckkraft 1) als Füllfarbe funktioniert, aber die Antialias werden geringfügig angepasst, um heller oder dunkler als meine Artikelfarbe zu sein. Keine große Sache, aber der Effekt ist sauberer, wenn Sie eine Füllfarbe verwenden, die näher an der Rahmenfarbe Ihres Artikels liegt.

Wenn Sie eine rote Füllfarbe um eine nicht rote Farbe (blau / grün / usw.) verwenden, verwenden die Antialias die rote Farbe, wenn sie die Antialias anwenden. Welches ist in der Regel unerwünscht.

user2106060
quelle