Class GaussianBlurSmartFilter

GaussianBlurSmartFilter class

Der intelligente GaußianBlur-Filter.

public sealed class GaussianBlurSmartFilter : SmartFilter

Konstrukteure

NameBeschreibung
GaussianBlurSmartFilter()Initialisiert eine neue Instanz vonGaussianBlurSmartFilter Klasse.

Eigenschaften

NameBeschreibung
BlendMode { get; set; }Ruft den Mischmodus ab oder legt ihn fest.
override FilterId { get; }Ruft die Kennung des intelligenten Filtertyps ab.
IsEnabled { get; set; }Ruft den aktivierten Status des intelligenten Filters ab oder legt ihn fest.
override Name { get; }Ruft den Namen des intelligenten Filters ab.
Opacity { get; set; }Ruft den Deckkraftwert des Smartfilters ab oder legt ihn fest.
Radius { get; set; }Ruft den Radius des Gaußschen Smart-Filters ab oder legt ihn fest.
SourceDescriptor { get; }Die Quelldeskriptorstruktur mit intelligenten Filterdaten.

Methoden

NameBeschreibung
Apply(RasterImage)Wendet den aktuellen Filter auf die Eingabe anRasterImage Bild.
ApplyToMask(Layer)Wendet den aktuellen Filter auf die Eingabe anLayer Maskendaten.
Clone()Erstellt den mitgliederweisen Klon der aktuellen Instanz des Typs.

Felder

NameBeschreibung
const FilterTypeDie Kennung des aktuellen Smartfilters.

Beispiele

Dieses Beispiel demonstriert die Unterstützung der Schnittstelle für intelligente Filter.

[C#]

string sourceFilte = "r2_SmartFilters.psd";
string outputPsd = "out_r2_SmartFilters.psd";

void AssertAreEqual(object expected, object actual)
{
    if (!object.Equals(expected, actual))
    {
        throw new Exception("Objects are not equal.");
    }
}

using (var image = (PsdImage)Image.Load(sourceFilte))
{
    SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];

    // intelligente Filter bearbeiten
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // Filterwerte prüfen
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

    // Filterwerte aktualisieren
    gaussianBlur.Radius = 1;
    gaussianBlur.BlendMode = BlendMode.Divide;
    gaussianBlur.Opacity = 75;
    gaussianBlur.IsEnabled = false;
    AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
    addNoise.Distribution = NoiseDistribution.Uniform;

    // neue Filterelemente hinzufügen
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // Änderungen übernehmen
    smartObj.SmartFilters.UpdateResourceValues();

    // Filter anwenden
    smartObj.SmartFilters.Filters[0].Apply(image.Layers[2]);
    smartObj.SmartFilters.Filters[4].ApplyToMask(image.Layers[2]);

    image.Save(outputPsd);
}

using (var image = (PsdImage)Image.Load(outputPsd))
{
    SmartObjectLayer smartObj = (SmartObjectLayer)image.Layers[1];

    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // Filterwerte prüfen
    AssertAreEqual(1d, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Divide, gaussianBlur.BlendMode);
    AssertAreEqual(75d, gaussianBlur.Opacity);
    AssertAreEqual(false, gaussianBlur.IsEnabled);

    AssertAreEqual(true, smartObj.SmartFilters.Filters[5] is GaussianBlurSmartFilter);
    AssertAreEqual(true, smartObj.SmartFilters.Filters[6] is AddNoiseSmartFilter);
}

Siehe auch