Class GaussianBlurSmartFilter

GaussianBlurSmartFilter class

Le filtre intelligent GaussianBlur.

public sealed class GaussianBlurSmartFilter : SmartFilter

Constructeurs

NomLa description
GaussianBlurSmartFilter()Initialise une nouvelle instance duGaussianBlurSmartFilter classe.

Propriétés

NomLa description
BlendMode { get; set; }Obtient ou définit le mode de fusion.
override FilterId { get; }Obtient l’identifiant du type de filtre intelligent.
IsEnabled { get; set; }Obtient ou définit l’état activé du filtre intelligent.
override Name { get; }Obtient le nom du filtre intelligent.
Opacity { get; set; }Obtient ou définit la valeur d’opacité du filtre intelligent.
Radius { get; set; }Obtient ou définit le rayon du filtre intelligent gaussien.
SourceDescriptor { get; }La structure du descripteur de source avec des données de filtre intelligentes.

Méthodes

NomLa description
Apply(RasterImage)Applique le filtre actuel à l’entréeRasterImage image.
ApplyToMask(Layer)Applique le filtre actuel à l’entréeLayer données de masque.
Clone()Crée le clone par membre de l’instance actuelle du type.

Des champs

NomLa description
const FilterTypeL’identifiant du filtre intelligent actuel.

Exemples

Cet exemple illustre la prise en charge de l’interface des filtres intelligents.

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

    // édite les filtres intelligents
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // vérifie les valeurs du filtre
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

    // met à jour les valeurs du filtre
    gaussianBlur.Radius = 1;
    gaussianBlur.BlendMode = BlendMode.Divide;
    gaussianBlur.Opacity = 75;
    gaussianBlur.IsEnabled = false;
    AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
    addNoise.Distribution = NoiseDistribution.Uniform;

    // ajouter de nouveaux éléments de filtre
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // appliquer les modifications
    smartObj.SmartFilters.UpdateResourceValues();

    // Appliquer les filtres
    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];

    // vérifie les valeurs du filtre
    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);
}

Voir également