Class VsmsResource

VsmsResource class

Kelas VsmsResource. Sumber daya ini berisi informasi tentang layer mask vektor

public class VsmsResource : VectorPathDataResource

Konstruktor

NamaKeterangan
VsmsResource()Menginisialisasi instance baru dariVsmsResource kelas.
VsmsResource(byte[])Menginisialisasi instance baru dariVsmsResource kelas.

Properti

NamaKeterangan
IsDisabled { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah instance ini dinonaktifkan.
IsInverted { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah instance ini terbalik.
IsNotLinked { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah instance ini tidak ditautkan.
override Key { get; }Mendapat kunci sumber daya lapisan.
override Length { get; }Mendapatkan panjang sumber daya lapisan dalam byte.
Paths { get; set; }Mendapat atau menyetel catatan jalur.
override PsdVersion { get; }Mendapatkan versi psd.
override Signature { get; }Mendapat tanda tangan.
Version { get; set; }Mendapatkan atau menyetel versi.

Metode

NamaKeterangan
override Save(StreamContainer, int)Menyimpan sumber daya ke wadah aliran yang ditentukan.
override ToString()Mengembalikan aString yang mewakili instance ini.

Bidang

NamaKeterangan
const TypeToolKeyKunci info alat ketik.

Contoh

Contoh berikut menunjukkan dukungan pemuatan sumber daya VsmsResource. Bagaimana cara kerja pengeditan jalur.

[C#]

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

        // Aturan isian jalur tidak berisi informasi tambahan apa pun
        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");
        }

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

Lihat juga