Class FXidResource

FXidResource class

滤镜效果资源包含通道、用户蒙版和智能滤镜的工作表蒙版。

public sealed class FXidResource : LayerResource

构造函数

姓名描述
FXidResource(int, int, FilterEffectMaskData[])初始化一个新的实例FXidResource类.

特性

姓名描述
FilterEffectMasks { get; }获取滤镜效果遮罩。
override Key { get; }获取图层资源键。
override Length { get; }获取以字节为单位的图层资源长度。
override PsdVersion { get; }获取层资源所需的最小 psd 版本。 0 表示没有限制。
override Signature { get; }获取图层资源签名。
Version { get; }获取版本。

方法

姓名描述
override Save(StreamContainer, int)将资源保存到指定的流容器中。
override ToString()返回一个String代表这个实例.

字段

姓名描述
const FEidTypeToolKey类型工具信息密钥 FEid.
const FXidTypeToolKey类型工具信息密钥 FXid.

例子

此示例演示如何获取和设置 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);
    }
}

也可以看看