Class SmartFilter

SmartFilter class

स्मार्ट फ़िल्टर के आधार तर्क को संसाधित करने के लिए वर्ग।

public abstract class SmartFilter : ICloneable

कंस्ट्रक्टर्स

नामविवरण
SmartFilter()का एक नया उदाहरण प्रारंभ करता हैSmartFilter वर्ग.

गुण

नामविवरण
BlendMode { get; set; }सम्मिश्रण मोड प्राप्त या सेट करता है।
abstract FilterId { get; }स्मार्ट फ़िल्टर प्रकार पहचानकर्ता प्राप्त करता है।
IsEnabled { get; set; }स्मार्ट फ़िल्टर की सक्षम स्थिति प्राप्त या सेट करता है।
abstract Name { get; }स्मार्ट फ़िल्टर नाम प्राप्त करता है।
Opacity { get; set; }स्मार्ट फ़िल्टर का अपारदर्शिता मान प्राप्त या सेट करता है।
SourceDescriptor { get; }स्मार्ट फ़िल्टर डेटा के साथ स्रोत डिस्क्रिप्टर संरचना।

तरीकों

नामविवरण
Apply(RasterImage)वर्तमान फ़िल्टर को इनपुट पर लागू करता हैRasterImage छवि.
ApplyToMask(Layer)वर्तमान फ़िल्टर को इनपुट पर लागू करता हैLayer मास्क डेटा.
Clone()प्रकार के वर्तमान उदाहरण का सदस्यवार क्लोन बनाता है।

उदाहरण

यह उदाहरण स्मार्ट फ़िल्टर इंटरफ़ेस के समर्थन को प्रदर्शित करता है।

[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);
}

यह सभी देखें