Class GaussianBlurSmartFilter

GaussianBlurSmartFilter class

GaussianBlur smart filter.

public sealed class GaussianBlurSmartFilter : SmartFilter

Konstruktörer

namnBeskrivning
GaussianBlurSmartFilter()Initierar en ny instans avGaussianBlurSmartFilter class.

Egenskaper

namnBeskrivning
BlendMode { get; set; }Hämtar eller ställer in blandningsläget.
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.
override Name { get; }Får det smarta filternamnet.
Opacity { get; set; }Hämtar eller ställer in opacitetsvärdet för smart filter.
Radius { get; set; }Hämtar eller ställer in radien för gaussiskt 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