LinkedLayersManager.LinkLayers

LinkedLayersManager.LinkLayers method

Связывает входные слои и возвращает LingGroupId.

public short LinkLayers(Layer[] layers)
ПараметрТипОписание
layersLayer[]Слои.

Возвращаемое значение

Идентификатор группы ссылок.

Исключения

исключениеусловие
ArgumentNullExceptionСлои нулевые.
ArgumentExceptionКоличество слоев должно быть больше 1.
ArgumentExceptionКонтейнер каждого слоя должен быть таким же, как текущий PsdImage.

Примеры

В следующем примере показано, как вы можете манипулировать связанными слоями в Aspose.PSD.

[C#]

string sourceFile = "example.psd";
string outputFile = "psdnet11_output.psd";

// Загружаем существующее изображение в экземпляр класса PsdImage
using (var psd = (PsdImage)Image.Load(sourceFile))
{
    Layer[] layers = psd.Layers;

    // связываем все слои в одну связанную группу
    short layersLinkGroupId = psd.LinkedLayersManager.LinkLayers(layers);

    // получаем id для одного слоя
    short linkGroupId = psd.LinkedLayersManager.GetLinkGroupId(layers[0]);
    if (layersLinkGroupId != linkGroupId)
    {
        throw new Exception("layersLinkGroupId and linkGroupId are not equal.");
    }

    // получает все связанные слои по идентификатору группы ссылок.
    Layer[] linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);

    // отвязать каждый слой от группы
    foreach (var linkedLayer in linkedLayers)
    {
        psd.LinkedLayersManager.UnlinkLayer(linkedLayer);
    }

    // возвращает NULL для идентификатора группы ссылок, в которой нет слоев в группе.
    linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);
    if (linkedLayers != null)
    {
        throw new Exception("The linkedLayers field is not NULL.");
    }
    psd.Save(outputFile);
}

Смотрите также