Class GradientFillSettings

GradientFillSettings class

ग्रेडिएंट भरण प्रभाव सेटिंग.

public class GradientFillSettings : BaseFillSettings, IGradientFillSettings

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

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

गुण

नामविवरण
AlignWithLayer { get; set; }एक मान प्राप्त या सेट करता है जो इंगित करता है कि [परत के साथ संरेखित करें].
Angle { get; set; }कोण प्राप्त या सेट करता है।
Color { get; set; }रंग प्राप्त या सेट करता है।
ColorPoints { get; set; }रंग बिंदु प्राप्त या सेट करता है।
Dither { get; set; }एक मान प्राप्त करता है या सेट करता है जो दर्शाता है कि यहGradientFillSettings मुश्किल है.
override FillType { get; }भरण प्रकार
GradientName { get; set; }ग्रेडिएंट का नाम प्राप्त या सेट करता है।
GradientType { get; set; }ग्रेडिएंट के प्रकार को प्राप्त या सेट करता है।
HorizontalOffset { get; set; }प्रतिशत में क्षैतिज ऑफसेट प्राप्त या सेट करता है।
Reverse { get; set; }एक मान प्राप्त करता है या सेट करता है जो दर्शाता है कि यहGradientFillSettings उल्टा है.
Scale { get; set; }स्केल प्राप्त करता है या सेट करता है।
TransparencyPoints { get; set; }पारदर्शिता बिंदु प्राप्त या सेट करता है।
VerticalOffset { get; set; }वर्टिकल ऑफ़सेट को प्रतिशत में प्राप्त या सेट करता है।

तरीकों

नामविवरण
AddColorPoint()रंग बिंदु जोड़ता है।
AddTransparencyPoint()रंग बिंदु जोड़ता है।
RemoveColorPoint(IGradientColorPoint)रंग बिंदु को हटाता है।
RemoveTransparencyPoint(IGradientTransparencyPoint)पारदर्शिता बिंदु को हटाता है.
static GenerateLfx2ResourceNodes()LFX2 संसाधन नोड उत्पन्न करता है।

उदाहरण

निम्नलिखित कोड भरण प्रकार - ग्रेडिएंट के साथ स्ट्रोक प्रभाव परत के समर्थन को प्रदर्शित करता है।

[C#]

void AssertIsTrue(bool condition, string message)
{
    if (!condition)
    {
        throw new FormatException(message);
    }
}
void AssertAreEqual(object expected, object actual, string message = null)
{
    if (!object.Equals(expected, actual))
    {
        throw new FormatException(message ?? "Objects are not equal.");
    }
}

string sourceFileName = "Stroke.psd";
string exportPath = "StrokeGradientChanged.psd";

var loadOptions = new PsdLoadOptions()
{
    LoadEffectsResource = true
};

using (var im = (PsdImage)Image.Load(sourceFileName, loadOptions))
{
    var gradientStroke = (StrokeEffect)im.Layers[2].BlendingOptions.Effects[0];

    AssertAreEqual(BlendMode.Normal, gradientStroke.BlendMode);
    AssertAreEqual((byte)255, gradientStroke.Opacity);
    AssertAreEqual(true, gradientStroke.IsVisible);

    var fillSettings = (GradientFillSettings)gradientStroke.FillSettings;
    AssertAreEqual(Color.Black, fillSettings.Color);
    AssertAreEqual(FillType.Gradient, fillSettings.FillType);
    AssertAreEqual(true, fillSettings.AlignWithLayer);
    AssertAreEqual(GradientType.Linear, fillSettings.GradientType);
    AssertIsTrue(Math.Abs(90 - fillSettings.Angle) < 0.001, "Angle is incorrect");
    AssertAreEqual(false, fillSettings.Dither);
    AssertIsTrue(Math.Abs(0 - fillSettings.HorizontalOffset) < 0.001, "Horizontal offset is incorrect");
    AssertIsTrue(Math.Abs(0 - fillSettings.VerticalOffset) < 0.001, "Vertical offset is incorrect");
    AssertAreEqual(false, fillSettings.Reverse);

    // रंग बिंदु
    var colorPoints = fillSettings.ColorPoints;
    AssertAreEqual(2, colorPoints.Length);

    AssertAreEqual(Color.Black, colorPoints[0].Color);
    AssertAreEqual(0, colorPoints[0].Location);
    AssertAreEqual(50, colorPoints[0].MedianPointLocation);

    AssertAreEqual(Color.White, colorPoints[1].Color);
    AssertAreEqual(4096, colorPoints[1].Location);
    AssertAreEqual(50, colorPoints[1].MedianPointLocation);

    // पारदर्शिता बिंदु
    var transparencyPoints = fillSettings.TransparencyPoints;
    AssertAreEqual(2, transparencyPoints.Length);

    AssertAreEqual(0, transparencyPoints[0].Location);
    AssertAreEqual(50, transparencyPoints[0].MedianPointLocation);
    AssertAreEqual(100.00, transparencyPoints[0].Opacity);

    AssertAreEqual(4096, transparencyPoints[1].Location);
    AssertAreEqual(50, transparencyPoints[1].MedianPointLocation);
    AssertAreEqual(100.00, transparencyPoints[1].Opacity);

    // परीक्षण संपादन
    fillSettings.Color = Color.Green;

    gradientStroke.Opacity = 127;
    gradientStroke.BlendMode = BlendMode.Color;

    fillSettings.AlignWithLayer = false;
    fillSettings.GradientType = GradientType.Radial;
    fillSettings.Angle = 45;
    fillSettings.Dither = true;
    fillSettings.HorizontalOffset = 15;
    fillSettings.VerticalOffset = 11;
    fillSettings.Reverse = true;

    // नया रंग बिंदु जोड़ें
    var colorPoint = fillSettings.AddColorPoint();
    colorPoint.Color = Color.Green;
    colorPoint.Location = 4096;
    colorPoint.MedianPointLocation = 75;

    // पिछले बिंदु का स्थान बदलें
    fillSettings.ColorPoints[1].Location = 1899;

    // नया पारदर्शिता बिंदु जोड़ें
    var transparencyPoint = fillSettings.AddTransparencyPoint();
    transparencyPoint.Opacity = 25;
    transparencyPoint.MedianPointLocation = 25;
    transparencyPoint.Location = 4096;

    // पिछले पारदर्शिता बिंदु का स्थान बदलें
    fillSettings.TransparencyPoints[1].Location = 2411;

    im.Save(exportPath);
}

// संपादन के बाद परीक्षण फ़ाइल
using (var im = (PsdImage)Image.Load(exportPath, loadOptions))
{
    var gradientStroke = (StrokeEffect)im.Layers[2].BlendingOptions.Effects[0];

    AssertAreEqual(BlendMode.Color, gradientStroke.BlendMode);
    AssertAreEqual((byte)127, gradientStroke.Opacity);
    AssertAreEqual(true, gradientStroke.IsVisible);

    var fillSettings = (GradientFillSettings)gradientStroke.FillSettings;
    AssertAreEqual(Color.Green, fillSettings.Color);
    AssertAreEqual(FillType.Gradient, fillSettings.FillType);

    // रंग बिंदुओं की जाँच करें
    AssertAreEqual(3, fillSettings.ColorPoints.Length);

    var point = fillSettings.ColorPoints[0];
    AssertAreEqual(50, point.MedianPointLocation);
    AssertAreEqual(Color.Black, point.Color);
    AssertAreEqual(0, point.Location);

    point = fillSettings.ColorPoints[1];
    AssertAreEqual(50, point.MedianPointLocation);
    AssertAreEqual(Color.White, point.Color);
    AssertAreEqual(1899, point.Location);

    point = fillSettings.ColorPoints[2];
    AssertAreEqual(75, point.MedianPointLocation);
    AssertAreEqual(Color.Green, point.Color);
    AssertAreEqual(4096, point.Location);

    // पारदर्शी बिंदुओं की जाँच करें
    AssertAreEqual(3, fillSettings.TransparencyPoints.Length);

    var transparencyPoint = fillSettings.TransparencyPoints[0];
    AssertAreEqual(50, transparencyPoint.MedianPointLocation);
    AssertAreEqual(100.00, transparencyPoint.Opacity);
    AssertAreEqual(0, transparencyPoint.Location);

    transparencyPoint = fillSettings.TransparencyPoints[1];
    AssertAreEqual(50, transparencyPoint.MedianPointLocation);
    AssertAreEqual(100.00, transparencyPoint.Opacity);
    AssertAreEqual(2411, transparencyPoint.Location);

    transparencyPoint = fillSettings.TransparencyPoints[2];
    AssertAreEqual(25, transparencyPoint.MedianPointLocation);
    AssertAreEqual(25.00, transparencyPoint.Opacity);
    AssertAreEqual(4096, transparencyPoint.Location);
}

यह सभी देखें