Class VsmsResource

VsmsResource class

Klass VsmsResource. Denna resurs innehåller information om vektorlager mask

public class VsmsResource : VectorPathDataResource

Konstruktörer

namnBeskrivning
VsmsResource()Initierar en ny instans avVsmsResource class.
VsmsResource(byte[])Initierar en ny instans avVsmsResource class.

Egenskaper

namnBeskrivning
IsDisabled { get; set; }Hämtar eller ställer in ett värde som anger om denna instans är inaktiverad.
IsInverted { get; set; }Hämtar eller ställer in ett värde som anger om denna instans är inverterad.
IsNotLinked { get; set; }Hämtar eller ställer in ett värde som anger om denna instans inte är länkad.
override Key { get; }Hämtar lagerresursnyckeln.
override Length { get; }Hämtar lagerresurslängden i byte.
Paths { get; set; }Hämtar eller sätter sökvägsposterna.
override PsdVersion { get; }Hämtar psd-versionen.
override Signature { get; }Får signaturen.
Version { get; set; }Hämtar eller ställer in versionen.

Metoder

namnBeskrivning
override Save(StreamContainer, int)Sparar resursen till den angivna strömbehållaren.
override ToString()Returnerar enString som representerar denna instans.

Fält

namnBeskrivning
const TypeToolKeyTypverktygets infonyckel.

Exempel

Följande exempel visar stödet för VsmsResource resursladdning. Hur fungerar redigeringen av banor.

[C#]

[Test]
public void TestPsdNet140()
{
    // VsmsResource Support
    string sourceFileName = "EmptyRectangle.psd";
    string exportPath = "EmptyRectangle_changed.psd";
    var im = (PsdImage)Image.Load(sourceFileName);
    using (im)
    {
        var resource = GetVsmsResource(im);
        // Läser
        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];

        // Sökvägsfyllningsregeln innehåller ingen ytterligare information
        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");
        }

        // Redigering
        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;
}

Se även