Class AddNoiseSmartFilter

AddNoiseSmartFilter class

Het slimme filter AddNoise.

public sealed class AddNoiseSmartFilter : SmartFilter

Constructeurs

NaamBeschrijving
AddNoiseSmartFilter()Initialiseert een nieuw exemplaar van hetAddNoiseSmartFilter klasse.

Eigenschappen

NaamBeschrijving
AmountNoise { get; set; }Haalt of stelt de hoeveelheid ruiswaarde in.
BlendMode { get; set; }Krijgt of stelt de overvloeimodus in.
Distribution { get; set; }Haalt of stelt de distributie van ruisfilter in.
override FilterId { get; }Haalt de ID van het slimme filtertype op.
IsEnabled { get; set; }Krijgt of stelt de ingeschakelde status van het slimme filter in.
IsMonochromatic { get; set; }Haalt de waarde van monochromatisch op of stelt deze in.
override Name { get; }Krijgt de slimme filternaam.
Opacity { get; set; }Haalt de dekkingswaarde van slim filter op of stelt deze in.
SourceDescriptor { get; }De structuur van de brondescriptor met slimme filtergegevens.

methoden

NaamBeschrijving
Apply(RasterImage)Past het huidige filter toe op invoerRasterImage afbeelding.
ApplyToMask(Layer)Past het huidige filter toe op invoerLayer maskeer gegevens.
Clone()Maakt de lidgewijze kloon van de huidige instantie van het type.

Velden

NaamBeschrijving
const FilterTypeDe identificatie van het huidige slimme filter.

Voorbeelden

Dit voorbeeld demonstreert de ondersteuning van de interface voor slimme filters.

[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];

    // bewerk slimme filters
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // controleer filterwaarden
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

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

    // voeg nieuwe filteritems toe
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // wijzigingen aanbrengen
    smartObj.SmartFilters.UpdateResourceValues();

    // Pas filters toe
    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];

    // controleer filterwaarden
    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);
}

Zie ook