Class GaussianBlurSmartFilter

GaussianBlurSmartFilter class

Het GaussianBlur slimme filter.

public sealed class GaussianBlurSmartFilter : SmartFilter

Constructeurs

NaamBeschrijving
GaussianBlurSmartFilter()Initialiseert een nieuw exemplaar van hetGaussianBlurSmartFilter klasse.

Eigenschappen

NaamBeschrijving
BlendMode { get; set; }Krijgt of stelt de overvloeimodus 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.
override Name { get; }Krijgt de slimme filternaam.
Opacity { get; set; }Haalt de dekkingswaarde van slim filter op of stelt deze in.
Radius { get; set; }Haalt de straal van Gaussiaans 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