Class GaussianBlurSmartFilter

GaussianBlurSmartFilter class

GaussianBlur akıllı filtresi.

public sealed class GaussianBlurSmartFilter : SmartFilter

yapıcılar

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

Özellikleri

İsimTanım
BlendMode { get; set; }Karıştırma modunu 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.
override Name { get; }Akıllı filtre adını alır.
Opacity { get; set; }Akıllı filtrenin opaklık değerini alır veya ayarlar.
Radius { get; set; }Gauss akıllı filtresinin yarıçapını 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