Class FilterEffectMaskData

FilterEffectMaskData class

フィルター マスク データ クラス.

public sealed class FilterEffectMaskData

コンストラクター

名前説明
FilterEffectMaskData(string, Rectangle, int, int, ChannelInformation[], ChannelInformation, Rectangle, ChannelInformation)の新しいインスタンスを初期化しますFilterEffectMaskDataclass.

プロパティ

名前説明
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);
    }
}

関連項目