Class AddNoiseSmartFilter

AddNoiseSmartFilter class

Le filtre intelligent AddNoise.

public sealed class AddNoiseSmartFilter : SmartFilter

Constructeurs

NomLa description
AddNoiseSmartFilter()Initialise une nouvelle instance duAddNoiseSmartFilter classe.

Propriétés

NomLa description
AmountNoise { get; set; }Obtient ou définit la quantité de valeur de bruit.
BlendMode { get; set; }Obtient ou définit le mode de fusion.
Distribution { get; set; }Obtient ou définit la distribution du filtre de bruit.
override FilterId { get; }Obtient l’identifiant du type de filtre intelligent.
IsEnabled { get; set; }Obtient ou définit l’état activé du filtre intelligent.
IsMonochromatic { get; set; }Obtient ou définit la valeur de monochromatique.
override Name { get; }Obtient le nom du filtre intelligent.
Opacity { get; set; }Obtient ou définit la valeur d’opacité du filtre intelligent.
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