Class VsmsResource

VsmsResource class

Class VsmsResource. Bu kaynak, vektör katmanı mask hakkında bilgi içerir.

public class VsmsResource : VectorPathDataResource

yapıcılar

İsimTanım
VsmsResource()Yeni bir örneğini başlatır.VsmsResource sınıf.
VsmsResource(byte[])Yeni bir örneğini başlatır.VsmsResource sınıf.

Özellikleri

İsimTanım
IsDisabled { get; set; }Bu örneğin devre dışı bırakılıp bırakılmadığını gösteren bir değer alır veya ayarlar.
IsInverted { get; set; }Bu örneğin ters çevrildiğini gösteren bir değer alır veya ayarlar.
IsNotLinked { get; set; }Bu örneğin bağlantılı olup olmadığını gösteren bir değer alır veya ayarlar.
override Key { get; }Katman kaynak anahtarını alır.
override Length { get; }Katman kaynak uzunluğunu bayt cinsinden alır.
Paths { get; set; }Yol kayıtlarını alır veya ayarlar.
override PsdVersion { get; }psd sürümünü alır.
override Signature { get; }İmzayı alır.
Version { get; set; }Sürümü alır veya ayarlar.

yöntemler

İsimTanım
override Save(StreamContainer, int)Kaynağı belirtilen akış kapsayıcısına kaydeder.
override ToString()a döndürürString bu örneği temsil eder.

Alanlar

İsimTanım
const TypeToolKeyTip aracı bilgi anahtarı.

Örnekler

Aşağıdaki örnek, VsmsResource kaynak yükleme desteğini göstermektedir. Yolların düzenlenmesi nasıl çalışır?

[C#]

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

        // Yol doldurma kuralı herhangi bir ek bilgi içermez
        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");
        }

        // düzenleme
        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;
}

Ayrıca bakınız