Bezeichnung
SetLayerFilter -- aktiviert/deaktiviert Filter für Ebenen (V5.0)
Übersicht
SetLayerFilter(layer, table)
Beschreibung
Dieser Befehl kann verwendet werden, um zu steuern, welche Filter und in welcher Reihenfolge auf die Ebene angewendet werden. Sie müssen diesem Befehl eine Tabelle übergeben, welche eine Anzahl von Untertabellen enthält, von denen jeder Parameter für einen einzelnen Ebenenfilter enthält. Für jede Untertabelle werden die folgenden Tags unterstützt:

Name
Enthält den Namen des Filters, das untergeordnete Tabellenelemente konfigurieren soll. Dieser Tag ist obligatorisch und muss immer in jeder Untertabelle angegeben werden, damit SetLayerFilter() den Filter kennt, welcher die Untertabellen adressiert. Bitte sehen Sie unten für eine Liste der unterstützten Filtertypen.

Args
Enthält eine Reihe von Argumenten für den Filter, welcher im Tag Name festgelegt wurde. Je nach Filter werden hier die entsprechenden Werte angegeben. Einige Filter wie XFlip oder Gray benötigen überhaupt keine Argumente. In diesen Fällen müssen Sie nicht die Tabelle Args übergeben. Bitte siehe unten, welche Argumente von den einzelnen Filter erforderlich sind. Beachten Sie auch, dass SetLayerFilter() Standartwerte für jeden Filter hat. So können Sie auch Argumente weglassen. In diesem Fall wird SetLayerFilter() die Voreinstellungen für den jeweiligen Filter verwenden.

Disable
Dieser Tag kann verwendet werden, um einen Filter zu aktivieren oder zu deaktivieren. Übergeben Sie hier False, um den Filter zu aktivieren oder True, um ihn zu deaktivieren. Dieser Tag ist optional. Wenn nichts angegeben ist, wird der Filter standardmäßig aktiviert.

Priority
Mit diesem Tag können Sie eine Prioritätsstufe für den aktuellen Filter angeben. Eine Prioritätsstufe ist einfach ein numerischer Wert, der dann durch SetLayerFilter() verwendet wird um herauszufinden, in welcher Reihenfolge die Filter angewendet werden sollen. Die Prioritätsstufe muss zwischen 0 (=niedrigste Priorität) und 255 (=höchste Priorität) liegen. Als Beispiel wird vor dem Farbtonfilter der Unschärfefilter angewendet werden, wenn Sie dem Filter Blur eine Priorität von 10 und dem Filter Tint eine Priorität von 9 zuweisen. Dieser Tag ist auf 0 voreingestellt, falls nichts angegeben wird.

Eine Liste der unterstützten Ebenenfilter folgt weiter unten. Bitte beachten Sie, dass die Argumente nicht dem Filter als Namentabellen-Tag, sondern der Reihe nach in dem Args-Feld übergeben werden. Das heißt, für den Filter Modulate, würden Sie die Helligkeitseinstellung im Feld-Element 0 setzten, im Feld-Element 1 die Sättigung und die Farbtoneinstellung im Element 2 die Reihenfolge, in der die einzelnen Argumente unten aufgeführt werden, entspricht der Reihenfolge, wie sie in der Args-Tabelle zu erwarten sind. Hier ist die Liste:

Blur
Dieser Filter verändert das Aussehen der Ebene über einen Gauss'schen Weichzeichner. Das folgende Argument muss übergeben werden:

Radius:
Legt den Effektradius fest. Je höher der hier angegebene Wert ist, desto länger dauert die Berechnung des Effekts.

Charcoal
Dieser Filter verändert das Aussehen der Ebene über einen Holzkohle-Effekt. Das folgende Argument muss übergeben werden:

Radius:
Legt den Effektradius fest. Je höher der hier angegebene Wert ist, desto länger dauert die Berechnung des Effekts.

Contrast
Dieser Filter verbessert oder reduziert den Farbkontrast der Ebene. Die folgenden Argumente müssen übergeben werden:

Inc:
Wenn das Argument Inc auf True gesetzt ist, wird der Kontrast erhöht. bei False hingegen verringert.

Repeat:
Legt fest wie oft der Effekt wiederholt werden soll. Dies ist nützlich um den Effekt zu verstärken. Standardmäßig ist diese Option auf 1 gesetzt, was bedeutet, dass der Effekt nur einmal angewendet wird. Wenn Sie zwei Durchgänge haben möchten, geben Sie hier 2 an usw. Denken Sie daran, je größer die hier angegebene Zahl ist, desto länger dauert die Berechnung des Effekts.

Edge
Dieser Filter betont die Kanten einer Ebene. Das folgende Argument muss übergeben werden:

Radius:
Spezifiziert den Effektradius. Je größer der Radius, desto länger braucht dieser Filter, den Kantenbetonungseffekt anzuwenden.

Emboss
Dieser Filter legt einen Reliefeffekt auf die Ebene (wird auch Stanzen genannt). Das folgende Argument muss übergeben werden:

Radius:
Legt den Effektradius fest. Je höher der hier angegebene Wert ist, desto länger dauert die Berechnung des Effekts.

Gamma
Dieser Filter kann verwendet werden, um die Gammafarbkanäle der Ebene zu ändern. Die folgenden Argumente müssen übergeben werden:

Red:
Gammakorrektur für den roten Kanal

Green:
Gammakorrektur für den grünen Kanal

Blue:
Gammakorrektur für den blauen Kanal

Für jeden Farbkanal müssen Sie einen Fließkommawert übergeben, der die gewünschte Gammakorrektur angibt. Ein Wert von 1.0 bedeutet keine Veränderung, ein Wert kleiner als 1.0 dunkelt den Kanal ab und ein Wert von mehr als 1.0 wird den Kanal aufhellen. Siehe GammaBrush für Details.

Grayscale
Dieser Filter wandelt die Ebene in Graustufen um. Für diesen Filter existieren keine Argumente.

Invert
Dieser Filter invertiert die Farben der Ebene. Auch für diesen Filter gibt es keine Argumente.

Modulate
Dieser Filter kann verwendet werden, um die Einstellungen der Helligkeit, Sättigung und des Farbtons einer Ebene zu ändern. Die folgenden Argumente müssen übergeben werden:

Brightness:
Gewünschte Helligkeit.

Saturation:
Gewünschte Sättigung.

Hue:
Gewünschter Farbton.

Für jede Einstellung übergeben Sie einen Fließkommawert, der die gewünschte Änderung beschreibt. Ein Wert von 1.0 bedeutet keine Veränderung, ein Wert kleiner als 1.0 verringert die Helligkeit/Sättigung/Farbton, während ein Wert von mehr als 1.0 sie erhöht. Siehe Pinsel modulieren für Details.

Monochrome
Dieser Filter kann verwendet werden, um die Ebene in Schwarz/Weiß abzubilden. Das folgende Argument muss übergeben werden:

Dither:
Wenn Dither auf True gesetzt ist, wird Dithering angewendet, mit False nicht. Dithering ist langsamer, aber erzeugt besser aussehende Grafiken.

OilPaint
Dieser Filter wendet einen Ölfarbeneffekt auf die Ebene an. Das folgende Argument muss übergeben werden:

Radius:
Legt den Effektradius fest. Je größer der Radius, desto länger braucht dieser Filter, den Ölfarbeneffekt anzuwenden.

Pixelate
Dieser Filter vergröbert/vergrößert die Pixel der Ebene. Das folgende Argument muss übergeben werden:

CellSize:
Legt die gewünschte Zellgröße für jedes einzelne Pixel fest. Jedes Pixel der Ebene wird auf diese Größe gezoomt. Die Vergröberung startet in der oberen linken Ecke des Pinsels.

Siehe Pixelierter Pinsel für Details.

Quantize
Dieser Filter reduziert die Anzahl Farben der Ebene. Die folgenden Argumente müssen übergeben werden:

Standardmäßig wird dieser Befehl die Farben auf 256 reduzieren und das Dithering ist aktiviert. Sie können dies ändern, indem Sie die optionalen Parameter angeben. Beachten Sie, dass der colors Parameter einen Wert zwischen 1 und 256 haben muss.

Colors:
Gewünschte Anzahl der Farben. Der Bereich geht von 1 bis 256.

Dither:
Wenn Dither auf True gesetzt ist, wird Dithering angewendet, mit False nicht. Dithering ist langsamer, aber erzeugt besser aussehende Bilder.

Siehe Pinsel Quantisieren für Details. (V6.0)

SepiaTone
Dieser Filter wendet den Sepiatoneffekt auf die Ebene an. Das folgende Argument muss übergeben werden:

Der SepiaTone-Befehl versucht das Aussehen von alten Fotografien zu simulieren. Das zweite Argument level steuert die Intensität der Sepiatönung und kann sich von 0 bis 255 bewegen. Sie können auch einen Prozentsatz als Zeichenkette angeben ("50%"). Üblicherweise wird ein Wert von etwa 204 verwendet (= 80%), der am besten aussieht.

Level:
Gewünschte Itensität des Sepiatons. Sie liegt im Bereich von 0 bis 255. Sie können auch einen Prozentsatz als Zeichenkette angeben ("50%"). Üblicherweise wird ein Wert von etwa 204 verwendet (= 80%), der am besten aussieht.

Siehe SepiaTone Pinsel für Details.

Sharpen
Hiermit wird das Aussehen der Ebene geschärft. Das folgende Argument muss übergeben werden:

Radius:
Legt den Effektradius fest. Je größer der Radius, desto länger braucht dieser Filter, die Ebene zu schärfen.

Solarize
Dieser Filter wendet einen Solarisationseffekt auf die Ebene an. Das folgende Argument muss übergeben werden:

Level:
Gewünschte Itensität des Solarisationseffekt (Bereich geht von 0 bis 255).

Siehe Pinsel solarisieren für Details.

Swirl
Dieser Filter legt eine Wirbel-/Strudelwirkung um den Mittelpunkt der Ebene. Das folgende Argument muss übergeben werden:

Degrees:
Legt die gewünschte Verwirbelung in Grad fest. Dies kann von 0 für keine Verwirbelung bis zu 360 für den dramatischsten Wirbeleffekt reichen.

Tint
Dieser Filter färbt die Ebene ein. Die folgenden Argumente müssen übergeben werden:

Color:
Legt die RGB-Farbe fürs einfärben fest.

Ratio:
Stellt die Färbungsintensität ein. Der Wert muss im Bereich von 0 (= keine Färbung) bis 255 (= volle Färbung) liegen. Sie können auch eine Prozentangabe als Zeichenkette übergeben (50% entsprechen dem Wert 128).

WaterRipple
Dieser Filter wendet einen kreisförmigen Wasserwelleneffekt (Wasserkräuseln) auf die Ebene an. Die folgenden Argumente müssen übergeben werden:

Wavelength:
Gewünschte Wellenlänge für den Effekt.

Ampltiude:
Gewünschte Wellenweite.

Phase:
Gewünschte Wellen-Phase.

CX:
X Mittelpunkt der Wasserwellen.

CY:
Y Mittelpunkt der Wasserwellen.

Siehe Wasserregenpinsel für Details.

XFlip
Dieser Filter spiegelt die Ebene in der X-Achse. Für diesen Filter existieren keine Argumente.

YFlip
Dieser Filter spiegelt die Ebene in der Y-Achse. Auch für diesen Filter existieren keine Argumente.

Um alle Ebenenfilter zu deaktivieren, können Sie im zweiten Argument den besonderen Wert 0 an Stelle einer Tabelle übergeben. SetLayerFilter() hebt dann alle Filter auf, die derzeit aktiv auf der angegebenen Ebene sind.

Bitte beachten Sie, dass SetLayerFilter() keine vorhandenen Filtereinstellungen zurücksetzen wird, wenn der Befehl aufgerufen wird. Stattdessen werden alle vorhandenen Filtereinstellungen behalten und die neuen Einstellungen werden mit den alten zusammengeführt werden. Wenn Sie also eine Ebene haben, auf die mehrere Filter wirken und Sie wollen nur die Konfiguration eines dieser Filter ändern, reicht es aus, nur eine untergeordnete Tabelle für diesen einzelnen Filter in SetLayerFilter() anzugeben. Es ist nicht notwendig, alle anderen Filter erneut an SetLayerFilter() zu übergeben.

Beachten Sie auch, dass die Ebenenfilter die CPU intensiv belasten können, vor allem dann, wenn für eine Ebene Übergangseffekte gebraucht werden, auf welche einige Filter angewendet wurden. In diesem Fall müssen die Filter für jedes neue Einzelbild des Übergangseffekts neu berechnet werden. Je nach Komplexität des Filters kann dies einige Zeit dauern.

Sie können auch den SetLayerStyle() Befehl verwenden, um die Konfiguration eines oder mehrerer Ebenenfilter zu ändern.

Ab Hollywood 10.0 kann dieser Befehl auch mit Ebenengruppen arbeiten, so dass Sie auch den Namen einer Ebenengruppe übergeben können.

Eingaben
layer
Ebene oder Ebenengruppe, die verwendet werden soll
table
eine Tabelle, die eine oder mehrere Untertabellen für die Beschreibung von Filtern enthält, um sie auf eine Ebene anzuwenden oder zu entfernen; siehe oben für weitere Informationen; um alle Filter aus einer Ebene zu entfernen, übergeben Sie hier 0 anstelle einer Tabelle
Beispiel
table = {
{Name = "YFlip"},
{Name = "Modulate", Args = {1.0, 2.0, 1.0}, Priority = 10},
{Name = "Swirl", Args = {128}, Priority = 9} }
SetLayerFilter(1, table)
Der obige Code erhöht die Sättigung der Ebene 1 um 200%, wirbelt die Ebene um 180 Grad und spiegelt sie dann auf der y-Achse.


SetLayerFilter(1, {{Name = "YFlip", Disable = True}})
Dieser Code entfernt den Filter YFlip von der Ebene 1, jedoch werden die beiden anderen Filter (Modulieren und Wirbel) behalten.

Navigation zeigen