Class AddNoiseSmartFilter

AddNoiseSmartFilter class

El filtro inteligente AddNoise.

public sealed class AddNoiseSmartFilter : SmartFilter

Constructores

NombreDescripción
AddNoiseSmartFilter()Inicializa una nueva instancia delAddNoiseSmartFilter clase.

Propiedades

NombreDescripción
AmountNoise { get; set; }Obtiene o establece la cantidad del valor de ruido.
BlendMode { get; set; }Obtiene o establece el modo de fusión.
Distribution { get; set; }Obtiene o establece la distribución del filtro de ruido.
override FilterId { get; }Obtiene el identificador del tipo de filtro inteligente.
IsEnabled { get; set; }Obtiene o establece el estado habilitado del filtro inteligente.
IsMonochromatic { get; set; }Obtiene o establece el valor de monocromático.
override Name { get; }Obtiene el nombre del filtro inteligente.
Opacity { get; set; }Obtiene o establece el valor de opacidad del filtro inteligente.
SourceDescriptor { get; }La estructura del descriptor de origen con datos de filtro inteligente.

Métodos

NombreDescripción
Apply(RasterImage)Aplica el filtro actual a la entradaRasterImage imagen.
ApplyToMask(Layer)Aplica el filtro actual a la entradaLayer enmascarar datos.
Clone()Hace el clon miembro de la instancia actual del tipo.

Campos

NombreDescripción
const FilterTypeEl identificador del filtro inteligente actual.

Ejemplos

Este ejemplo demuestra el soporte de la interfaz de filtros inteligentes.

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

    // editar filtros inteligentes
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // comprobar los valores del filtro
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

    // actualizar los valores del filtro
    gaussianBlur.Radius = 1;
    gaussianBlur.BlendMode = BlendMode.Divide;
    gaussianBlur.Opacity = 75;
    gaussianBlur.IsEnabled = false;
    AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
    addNoise.Distribution = NoiseDistribution.Uniform;

    // agregar nuevos elementos de filtro
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // aplicar cambios
    smartObj.SmartFilters.UpdateResourceValues();

    // Aplicar filtros
    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];

    // comprobar los valores del filtro
    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);
}

Ver también