SectionDividerLayer.IsVisibleInGroup

SectionDividerLayer.IsVisibleInGroup property

获取一个值,指示此实例是否在组中可见(如果图层不在组中,则表示根组)。

public override bool IsVisibleInGroup { get; }

适当的价值

真的如果此实例在组中可见;否则,错误的 .

例子

以下代码演示了 SectionDividerLayer 层以及如何获取与其相关的 LayerGroup。

[C#]

// 以下代码演示了 SectionDividerLayer 图层以及如何获取与其相关的 LayerGroup。

//图层层次结构
// [0]: '</图层组>'第 1 组的 SectionDividerLayer
// [1]: 'Layer 1' 常规层
// [2]: '</图层组>'第 2 组的 SectionDividerLayer
// [3]: '</图层组>'第 3 组的 SectionDividerLayer
// [4]: 'Group 3' GroupLayer
// [5]: 'Group 2' GroupLayer
// [6]: 'Group 1' GroupLayer

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

using (var image = new PsdImage(100, 100))
{
    // 创建图层层次结构
    // 添加 LayerGroup 'Group 1'
    LayerGroup group1 = image.AddLayerGroup("Group 1", 0, true);
    // 添加常规图层
    Layer layer1 = new Layer();
    layer1.DisplayName = "Layer 1";
    group1.AddLayer(layer1);
    // 添加 LayerGroup 'Group 2'
    LayerGroup group2 = group1.AddLayerGroup("Group 2", 1);
    // 添加 LayerGroup 'Group 3'
    LayerGroup group3 = group2.AddLayerGroup("Group 3", 0);

    // 获取 SectionDividerLayer 的
    SectionDividerLayer divider1 = (SectionDividerLayer)image.Layers[0];
    SectionDividerLayer divider2 = (SectionDividerLayer)image.Layers[2];
    SectionDividerLayer divider3 = (SectionDividerLayer)image.Layers[3];

    // 使用SectionDividerLayer.GetRelatedLayerGroup()方法,获取相关的LayerGroup实例。
    AssertAreEqual(group1.DisplayName, divider1.GetRelatedLayerGroup().DisplayName); // 同一个图层组
    AssertAreEqual(group2.DisplayName, divider2.GetRelatedLayerGroup().DisplayName); // 同一个图层组
    AssertAreEqual(group3.DisplayName, divider3.GetRelatedLayerGroup().DisplayName); // 同一个图层组

    LayerGroup folder1 = divider1.GetRelatedLayerGroup();
    AssertAreEqual(5, folder1.Layers.Length); // 'Group 1' 包含 5 层
}

也可以看看