Class AddNoiseSmartFilter

AddNoiseSmartFilter class

AddNoise smarta filter.

public sealed class AddNoiseSmartFilter : SmartFilter

Konstruktörer

namnBeskrivning
AddNoiseSmartFilter()Initierar en ny instans avAddNoiseSmartFilter class.

Egenskaper

namnBeskrivning
AmountNoise { get; set; }Hämtar eller ställer in brusvärdet.
BlendMode { get; set; }Hämtar eller ställer in blandningsläget.
Distribution { get; set; }Hämtar eller ställer in fördelningen av brusfilter.
override FilterId { get; }Hämtar den smarta filtertypidentifieraren.
IsEnabled { get; set; }Hämtar eller ställer in statusen är aktiverad för det smarta filtret.
IsMonochromatic { get; set; }Hämtar eller ställer in värdet för monochromatic.
override Name { get; }Får det smarta filternamnet.
Opacity { get; set; }Hämtar eller ställer in opacitetsvärdet för smart filter.
SourceDescriptor { get; }Källbeskrivningsstrukturen med smarta filterdata.

Metoder

namnBeskrivning
Apply(RasterImage)Tillämpar det aktuella filtret på indataRasterImage bild.
ApplyToMask(Layer)Tillämpar det aktuella filtret på indataLayer mask data.
Clone()Gör den medlemsvisa klonen av den aktuella instansen av typen.

Fält

namnBeskrivning
const FilterTypeIdentifieraren för aktuellt smart filter.

Exempel

Det här exemplet visar stödet för gränssnittet för smarta 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];

    // redigera smarta filter
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // kontrollera filtervärden
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

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

    // lägg till nya filterobjekt
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // applicera förändringar
    smartObj.SmartFilters.UpdateResourceValues();

    // Använd filter
    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];

    // kontrollera filtervärden
    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);
}

Se även