Class AddNoiseSmartFilter

AddNoiseSmartFilter class

AddNoise akıllı filtresi.

public sealed class AddNoiseSmartFilter : SmartFilter

yapıcılar

İsimTanım
AddNoiseSmartFilter()Yeni bir örneğini başlatır.AddNoiseSmartFilter sınıf.

Özellikleri

İsimTanım
AmountNoise { get; set; }Gürültü değeri miktarını alır veya ayarlar.
BlendMode { get; set; }Karıştırma modunu alır veya ayarlar.
Distribution { get; set; }Gürültü filtresinin dağıtımını alır veya ayarlar.
override FilterId { get; }Akıllı filtre türü tanımlayıcısını alır.
IsEnabled { get; set; }Akıllı filtrenin etkin durumunu alır veya ayarlar.
IsMonochromatic { get; set; }Monochromatic. değerini alır veya ayarlar.
override Name { get; }Akıllı filtre adını alır.
Opacity { get; set; }Akıllı filtrenin opaklık değerini alır veya ayarlar.
SourceDescriptor { get; }Akıllı filtre verilerine sahip kaynak tanımlayıcı yapısı.

yöntemler

İsimTanım
Apply(RasterImage)Geçerli filtreyi girişe uygularRasterImage resim.
ApplyToMask(Layer)Geçerli filtreyi girişe uygularLayer veriyi maskele.
Clone()Type. türünün mevcut örneğinin üye bazında klonunu oluşturur.

Alanlar

İsimTanım
const FilterTypeGeçerli akıllı filtrenin tanımlayıcısı.

Örnekler

Bu örnek, akıllı filtreler arabiriminin desteğini gösterir.

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

    // akıllı filtreleri düzenle
    GaussianBlurSmartFilter gaussianBlur = (GaussianBlurSmartFilter)smartObj.SmartFilters.Filters[0];

    // filtre değerlerini kontrol et
    AssertAreEqual(3.1, gaussianBlur.Radius);
    AssertAreEqual(BlendMode.Dissolve, gaussianBlur.BlendMode);
    AssertAreEqual(90d, gaussianBlur.Opacity);
    AssertAreEqual(true, gaussianBlur.IsEnabled);

    // filtre değerlerini güncelle
    gaussianBlur.Radius = 1;
    gaussianBlur.BlendMode = BlendMode.Divide;
    gaussianBlur.Opacity = 75;
    gaussianBlur.IsEnabled = false;
    AddNoiseSmartFilter addNoise = (AddNoiseSmartFilter)smartObj.SmartFilters.Filters[1];
    addNoise.Distribution = NoiseDistribution.Uniform;

    // yeni filtre öğeleri ekle
    var filters = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filters.Add(new GaussianBlurSmartFilter());
    filters.Add(new AddNoiseSmartFilter());
    smartObj.SmartFilters.Filters = filters.ToArray();

    // değişiklikleri uygula
    smartObj.SmartFilters.UpdateResourceValues();

    // Filtreleri uygula
    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];

    // filtre değerlerini kontrol et
    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);
}

Ayrıca bakınız