LinkedLayersManager.LinkLayers

LinkedLayersManager.LinkLayers method

Verknüpft die Eingabeschichten und gibt LingGroupId zurück.

public short LinkLayers(Layer[] layers)
ParameterTypBeschreibung
layersLayer[]Die Schichten.

Rückgabewert

Die Linkgruppen-ID.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptionDie Schichten ist null.
ArgumentExceptionDie Anzahl der Ebenen muss größer als 1 sein.
ArgumentExceptionDer Container jeder Ebene sollte mit dem aktuellen PsdImage identisch sein.

Beispiele

Das folgende Beispiel zeigt, wie Sie verknüpfte Ebenen in Aspose.PSD manipulieren können

[C#]

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

// Ein vorhandenes Bild in eine Instanz der PsdImage-Klasse laden
using (var psd = (PsdImage)Image.Load(sourceFile))
{
    Layer[] layers = psd.Layers;

    // Alle Ebenen in einer verknüpften Gruppe verknüpfen
    short layersLinkGroupId = psd.LinkedLayersManager.LinkLayers(layers);

    // Ruft die ID für eine Ebene ab
    short linkGroupId = psd.LinkedLayersManager.GetLinkGroupId(layers[0]);
    if (layersLinkGroupId != linkGroupId)
    {
        throw new Exception("layersLinkGroupId and linkGroupId are not equal.");
    }

    // Ruft alle verknüpften Layer nach Linkgruppen-ID ab.
    Layer[] linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);

    // Jede Ebene von der Gruppe trennen
    foreach (var linkedLayer in linkedLayers)
    {
        psd.LinkedLayersManager.UnlinkLayer(linkedLayer);
    }

    // ruft NULL für eine Link-Gruppen-ID ab, die keine Layer in der Gruppe hat.
    linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);
    if (linkedLayers != null)
    {
        throw new Exception("The linkedLayers field is not NULL.");
    }
    psd.Save(outputFile);
}

Siehe auch