Class VmskResource

VmskResource class

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

public class VmskResource : VectorPathDataResource

Konstruktor

NamaKeterangan
VmskResource()Menginisialisasi instance baru dariVmskResource kelas.
VmskResource(byte[])Menginisialisasi instance baru dariVmskResource 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 VmskResource. Bagaimana cara kerja pengeditan jalur.

[C#]

[Test]
public void TestPsdNet106()
{
    string sourceFileName = "Rectangle.psd";
    string exportPath = "Rectangle_changed.psd";
    var im = (PsdImage)Image.Load(sourceFileName);
    using (im)
    {
        var resource = GetVmskResource(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("VmskResource 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("VmskResource 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(8039797, 10905190);
        initialFillRule.IsFillStartsWithAllPixels = true;
        subpathLength.IsClosed = false;
        im.Save(exportPath);
    }
}

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

Lihat juga