Class VectorPathDataResource

VectorPathDataResource class

클래스 VectorPathDataResource. 이 리소스에는 벡터 레이어 mask 에 대한 정보가 포함되어 있습니다.

public abstract class VectorPathDataResource : LayerResource, IVectorPathData

속성

이름설명
IsDisabled { get; set; }이 인스턴스가 비활성화되었는지 여부를 나타내는 값을 가져오거나 설정합니다.
IsInverted { get; set; }이 인스턴스가 반전되었는지 여부를 나타내는 값을 가져오거나 설정합니다.
IsNotLinked { get; set; }이 인스턴스가 연결되지 않았는지 여부를 나타내는 값을 가져오거나 설정합니다.
abstract Key { get; }레이어 리소스 키를 가져옵니다.
override Length { get; }레이어 리소스 길이를 바이트 단위로 가져옵니다.
Paths { get; set; }경로 레코드를 가져오거나 설정합니다.
override PsdVersion { get; }psd 버전을 가져옵니다.
override Signature { get; }서명을 받습니다.
Version { get; set; }버전을 가져오거나 설정합니다.

행동 양식

이름설명
override Save(StreamContainer, int)리소스를 지정된 스트림 컨테이너에 저장합니다.
override ToString()반환String 이 instance. 를 나타냅니다.

다음 예제는 레이어 벡터 마스크 처리 지원을 보여줍니다. 경로 편집이 작동하는 방식과 Aspose.PSD가 최종 이미지를 그리는 방식.

[C#]

string sourceFileName = "DifferentLayerMasks_Source.psd";
string exportPath = "DifferentLayerMasks_Export.psd";
string exportPathPng = "DifferentLayerMasks_Export.png";

// 독서
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
    // 벡터 경로 포인트를 변경합니다.
    foreach (var layer in image.Layers)
    {
        foreach (var layerResource in layer.Resources)
        {
            var resource = layerResource as VectorPathDataResource;
            if (resource != null)
            {
                foreach (var pathRecord in resource.Paths)
                {
                    var bezierKnotRecord = pathRecord as BezierKnotRecord;
                    if (bezierKnotRecord != null)
                    {
                        Point p0 = bezierKnotRecord.Points[0];
                        bezierKnotRecord.Points[0] = bezierKnotRecord.Points[2];
                        bezierKnotRecord.Points[2] = p0;
                        break;
                    }
                }
            }
        }
    }

    // 내보내기
    image.Save(exportPath);
    image.Save(exportPathPng, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}

또한보십시오