Class AddNoiseSmartFilter

AddNoiseSmartFilter class

Der intelligente AddNoise-Filter.

public sealed class AddNoiseSmartFilter : SmartFilter

Konstrukteure

NameBeschreibung
AddNoiseSmartFilter()Initialisiert eine neue Instanz vonAddNoiseSmartFilter Klasse.

Eigenschaften

NameBeschreibung
AmountNoise { get; set; }Ruft den Rauschwertbetrag ab oder legt ihn fest.
BlendMode { get; set; }Ruft den Mischmodus ab oder legt ihn fest.
Distribution { get; set; }Ruft die Verteilung des Rauschfilters ab oder legt sie 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.
IsMonochromatic { get; set; }Ruft den Wert von monochromatisch 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.
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