Class SoCoResource

SoCoResource class

클래스 SoCoResource. 이 리소스에는 색상 채우기 레이어 에 대한 정보가 포함되어 있습니다.

public class SoCoResource : FillLayerResource

생성자

이름설명
SoCoResource()의 새 인스턴스를 초기화합니다.SoCoResource 클래스.

속성

이름설명
Color { get; set; }RGB 색상을 가져옵니다.
override Key { get; }레이어 리소스 키를 가져옵니다.
override Length { get; }레이어 리소스 길이를 바이트 단위로 가져옵니다.
override PsdVersion { get; }레이어 리소스에 필요한 최소 psd 버전을 가져옵니다. 0은 제한이 없음을 나타냅니다.
override Signature { get; }레이어 리소스 서명을 가져옵니다.

행동 양식

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

필드

이름설명
const TypeToolKey유형 도구 정보 키입니다.

다음 예는 SoCoResource(색상 채우기 레이어의 레이어 리소스)를 편집하는 방법을 보여줍니다.

[C#]

string sourceFile = "ColorFillLayer.psd";
string outputFile = "SoCoResource_Edited.psd";

// 기존 이미지를 PsdImage 클래스의 인스턴스로 로드
var im = (PsdImage)Image.Load(sourceFile);

using (im)
{
    foreach (var layer in im.Layers)
    {
        // FillLayer 찾기
        if (layer is FillLayer)
        {
            var fillLayer = (FillLayer)layer;
            foreach (var resource in fillLayer.Resources)
            {
                // Layer Resource List에서 SoCoResource 찾기
                if (resource is SoCoResource)
                {
                    var socoResource = (SoCoResource)resource;
                    var expectedColor = Color.FromArgb(63, 83, 141);
                    
                    if ((expectedColor.R != socoResource.Color.R) ||
                        (expectedColor.G != socoResource.Color.G) ||
                        (expectedColor.B != socoResource.Color.B) ||
                        (expectedColor.A != socoResource.Color.A))
                    {
                        throw new Exception("Unexpected color");
                    }

                    // SoCoResource 색상 속성 설정
                    socoResource.Color = Color.Red;
                    break;
                }
            }
            break;
        }
        im.Save(outputFile);
    }
}

또한보십시오