Class AddNoiseSmartFilter

AddNoiseSmartFilter class

Το έξυπνο φίλτρο AddNoise.

public sealed class AddNoiseSmartFilter : SmartFilter

Κατασκευαστές

ΟνομαΠεριγραφή
AddNoiseSmartFilter()Αρχικοποιεί μια νέα παρουσία τουAddNoiseSmartFilter τάξη.

Ιδιότητες

ΟνομαΠεριγραφή
AmountNoise { get; set; }Λαμβάνει ή ορίζει το ποσό της τιμής θορύβου.
BlendMode { get; set; }Λαμβάνει ή ρυθμίζει τη λειτουργία ανάμειξης.
Distribution { get; set; }Λαμβάνει ή ρυθμίζει την κατανομή του φίλτρου θορύβου.
override FilterId { get; }Λαμβάνει το αναγνωριστικό τύπου έξυπνου φίλτρου.
IsEnabled { get; set; }Λαμβάνει ή ορίζει την κατάσταση ενεργοποίησης του έξυπνου φίλτρου.
IsMonochromatic { get; set; }Λαμβάνει ή ορίζει την τιμή του monochromatic.
override Name { get; }Λαμβάνει το όνομα έξυπνου φίλτρου.
Opacity { get; set; }Λαμβάνει ή ορίζει την τιμή αδιαφάνειας του έξυπνου φίλτρου.
SourceDescriptor { get; }Η δομή της περιγραφής πηγής με δεδομένα έξυπνου φίλτρου.

Μέθοδοι

ΟνομαΠεριγραφή
Apply(RasterImage)Εφαρμόζει το τρέχον φίλτρο στην είσοδοRasterImage εικόνα.
ApplyToMask(Layer)Εφαρμόζει το τρέχον φίλτρο στην είσοδοLayer δεδομένα μάσκας.
Clone()Κάνει τον κλώνο κατά μέλος της τρέχουσας παρουσίας του τύπου.

Πεδία

ΟνομαΠεριγραφή
const FilterTypeΤο αναγνωριστικό του τρέχοντος έξυπνου φίλτρου.

Παραδείγματα

Αυτό το παράδειγμα δείχνει την υποστήριξη της διεπαφής έξυπνων φίλτρων.

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

    // Επεξεργασία έξυπνων φίλτρων
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // έλεγχος τιμών φίλτρου
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

    // ενημέρωση τιμών φίλτρου
    gaussianBlur.Radius = 1;
    gaussianBlur.BlendMode = BlendMode.Divide;
    gaussianBlur.Opacity = 75;
    gaussianBlur.IsEnabled = false;
    AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
    addNoise.Distribution = NoiseDistribution.Uniform;

    // προσθήκη νέων στοιχείων φίλτρου
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // εφαρμογή αλλαγών
    smartObj.SmartFilters.UpdateResourceValues();

    // Εφαρμογή φίλτρων
    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];

    // έλεγχος τιμών φίλτρου
    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);
}

Δείτε επίσης