LinkedLayersManager.UnlinkLayer

LinkedLayersManager.UnlinkLayer method

Dissocie le calque..

public void UnlinkLayer(Layer layer)
ParamètreTaperLa description
layerLayerLa couche.

Exceptions

exceptioncondition
ArgumentNullExceptionLa couche est nulle.
ArgumentExceptionLe conteneur du calque doit être le même que le PsdImage actuel.

Exemples

L’exemple suivant montre comment vous pouvez manipuler des calques liés dans Aspose.PSD

[C#]

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

// Charger une image existante dans une instance de la classe PsdImage
using (var psd = (PsdImage)Image.Load(sourceFile))
{
    Layer[] layers = psd.Layers;

    // lie toutes les couches dans un groupe lié
    short layersLinkGroupId = psd.LinkedLayersManager.LinkLayers(layers);

    // obtient l'identifiant d'une couche
    short linkGroupId = psd.LinkedLayersManager.GetLinkGroupId(layers[0]);
    if (layersLinkGroupId != linkGroupId)
    {
        throw new Exception("layersLinkGroupId and linkGroupId are not equal.");
    }

    // obtient toutes les couches liées par l'identifiant du groupe de liens.
    Layer[] linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);

    // dissocie chaque calque du groupe
    foreach (var linkedLayer in linkedLayers)
    {
        psd.LinkedLayersManager.UnlinkLayer(linkedLayer);
    }

    // récupère NULL pour un ID de groupe de liens qui n'a pas de couches dans le groupe.
    linkedLayers = psd.LinkedLayersManager.GetLayersByLinkGroupId(linkGroupId);
    if (linkedLayers != null)
    {
        throw new Exception("The linkedLayers field is not NULL.");
    }
    psd.Save(outputFile);
}

Voir également