Class FilterEffectMaskData

FilterEffectMaskData class

필터 마스크 데이터 클래스입니다.

public sealed class FilterEffectMaskData

생성자

이름설명
FilterEffectMaskData(string, Rectangle, int, int, ChannelInformation[], ChannelInformation, Rectangle, ChannelInformation)의 새 인스턴스를 초기화합니다.FilterEffectMaskData 클래스.

속성

이름설명
Channels { get; }채널을 가져옵니다.
GUID { get; }GUID를 가져옵니다.
Length { get; }필터 마스크 데이터 길이를 바이트 단위로 가져옵니다.
MaskRectangle { get; }시트 마스크 사각형을 가져옵니다.
MaxChannels { get; }최대 채널 수를 가져옵니다.
PixelsDepth { get; }픽셀 깊이를 가져옵니다.
Rectangle { get; }채널 사각형을 가져옵니다.
SheetMask { get; }시트 마스크를 가져옵니다.
UserMask { get; }사용자 마스크를 가져옵니다.

행동 양식

이름설명
SaveData(StreamContainer)리소스를 지정된 스트림 컨테이너에 저장합니다.

이 예제는 FXidResource 리소스의 속성을 가져오고 설정하는 방법을 보여줍니다.

[C#]

string inputFilePath = "psdnet414_3.psd";
string output = "out_psdnet414_3.psd";

int resLength = 1144;
int maskLength = 369;

void AssertAreEqual(object expected, object actual, string message = null)
{
    if (!object.Equals(expected, actual))
    {
        throw new FormatException(message ?? "Objects are not equal.");
    }
}

using (var psdImage = (PsdImage)Image.Load(inputFilePath))
{
    FXidResource fXidResource = (FXidResource)psdImage.GlobalLayerResources[3];

    AssertAreEqual(resLength, fXidResource.Length);
    foreach (var maskData in fXidResource.FilterEffectMasks)
    {
        AssertAreEqual(maskLength, maskData.Length);
    }

    psdImage.Save(output);
}

// 저장 후 확인
using (var psdImage = (PsdImage)Image.Load(output))
{
    FXidResource fXidResource = (FXidResource)psdImage.GlobalLayerResources[3];

    AssertAreEqual(resLength, fXidResource.Length);
    foreach (var maskData in fXidResource.FilterEffectMasks)
    {
        AssertAreEqual(maskLength, maskData.Length);
    }
}

또한보십시오