Class VsmsResource

VsmsResource class

Κλάση VsmsResource. Αυτός ο πόρος περιέχει πληροφορίες σχετικά με το διανυσματικό στρώμα mask

public class VsmsResource : VectorPathDataResource

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

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

Ιδιότητες

ΟνομαΠεριγραφή
IsDisabled { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν αυτή η παρουσία είναι απενεργοποιημένη.
IsInverted { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν αυτή η παρουσία είναι ανεστραμμένη.
IsNotLinked { get; set; }Λαμβάνει ή ορίζει μια τιμή που υποδεικνύει εάν αυτή η παρουσία δεν είναι συνδεδεμένη.
override Key { get; }Λαμβάνει το κλειδί πόρων επιπέδου.
override Length { get; }Λαμβάνει το μήκος του πόρου του επιπέδου σε byte.
Paths { get; set; }Λαμβάνει ή ορίζει τις εγγραφές διαδρομής.
override PsdVersion { get; }Λαμβάνει την έκδοση psd.
override Signature { get; }Παίρνει την υπογραφή.
Version { get; set; }Λαμβάνει ή ορίζει την έκδοση.

Μέθοδοι

ΟνομαΠεριγραφή
override Save(StreamContainer, int)Αποθηκεύει τον πόρο στο καθορισμένο κοντέινερ ροής.
override ToString()Επιστρέφει αString που αντιπροσωπεύει αυτήν την περίπτωση.

Πεδία

ΟνομαΠεριγραφή
const TypeToolKeyΤο κλειδί πληροφοριών εργαλείου τύπου.

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

Το ακόλουθο παράδειγμα δείχνει την υποστήριξη της φόρτωσης πόρων VsmsResource. Πώς λειτουργεί η επεξεργασία των μονοπατιών.

[C#]

[Test]
public void TestPsdNet140()
{
    // Υποστήριξη VsmsResource
    string sourceFileName = "EmptyRectangle.psd";
    string exportPath = "EmptyRectangle_changed.psd";
    var im = (PsdImage)Image.Load(sourceFileName);
    using (im)
    {
        var resource = GetVsmsResource(im);
        // ΑΝΑΓΝΩΣΗ
        if (resource.IsDisabled != false ||
            resource.IsInverted != false ||
            resource.IsNotLinked != false ||
            resource.Paths.Length != 7 ||
            resource.Paths[0].Type != VectorPathType.PathFillRuleRecord ||
            resource.Paths[1].Type != VectorPathType.InitialFillRuleRecord ||
            resource.Paths[2].Type != VectorPathType.ClosedSubpathLengthRecord ||
            resource.Paths[3].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
            resource.Paths[4].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
            resource.Paths[5].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked ||
            resource.Paths[6].Type != VectorPathType.ClosedSubpathBezierKnotUnlinked)
        {
            throw new Exception("VsmsResource was read wrong");
        }

        var pathFillRule = (PathFillRuleRecord)resource.Paths[0];
        var initialFillRule = (InitialFillRuleRecord)resource.Paths[1];
        var subpathLength = (LengthRecord)resource.Paths[2];

        // Ο κανόνας πλήρωσης διαδρομής δεν περιέχει πρόσθετες πληροφορίες
        if (pathFillRule.Type != VectorPathType.PathFillRuleRecord ||
        initialFillRule.Type != VectorPathType.InitialFillRuleRecord ||
        initialFillRule.IsFillStartsWithAllPixels != false ||
        subpathLength.Type != VectorPathType.ClosedSubpathLengthRecord ||
        subpathLength.IsClosed != true ||
        subpathLength.IsOpen != false)
        {
            throw new Exception("VsmsResource paths were read wrong");
        }

        // Επεξεργασία
        resource.IsDisabled = true;
        resource.IsInverted = true;
        resource.IsNotLinked = true;
        var bezierKnot = (BezierKnotRecord)resource.Paths[3];
        bezierKnot.Points[0] = new Point(0, 0);
        bezierKnot = (BezierKnotRecord)resource.Paths[4];
        bezierKnot.Points[0] = new Point(8039798, 10905191);
        initialFillRule.IsFillStartsWithAllPixels = true;
        subpathLength.IsClosed = false;
        im.Save(exportPath);
    }
}

private VsmsResource GetVsmsResource(PsdImage image)
{
    var layer = image.Layers[1];
    VsmsResource resource = null;
    var resources = layer.Resources;
    for (int i = 0; i < resources.Length; i++)
    {
        if (resources[i] is VsmsResource)
        {
            resource = (VsmsResource)resources[i];
            break;
        }
    }
    if (resource == null)
    {
        throw new Exception("VsmsResource not found");
    }
    return resource;
}

Δείτε επίσης