Trabalhando com Camadas
Suporte de Camadas Vinculadas
Vincular camadas é como agrupar as camadas. Se você estiver vinculando duas ou mais camadas, permitirá que você faça alterações específicas em ambas as camadas vinculadas. Por exemplo, se você aplicar transformações a uma camada, elas serão aplicadas a todas as outras camadas vinculadas. Este artigo demonstra como você pode obter e desvincular camadas vinculadas usando Aspose.PSD para Java.
String dataDir = Utils.getDataDir(SupportOfLinkedLayer.class) + "ModifyingAndConvertingImages/"; | |
PsdImage psd = (PsdImage) Image.load(dataDir + "LinkedLayerexample.psd"); | |
try { | |
Layer[] layers = psd.getLayers(); | |
short layersLinkGroupId = psd.getLinkedLayersManager().linkLayers(layers); | |
short linkGroupId = psd.getLinkedLayersManager().getLinkGroupId(layers[0]); | |
if (layersLinkGroupId != linkGroupId) { | |
throw new Exception("layersLinkGroupId and linkGroupId are not equal."); | |
} | |
Layer[] linkedLayers = psd.getLinkedLayersManager().getLayersByLinkGroupId(linkGroupId); | |
for (Layer linkedLayer : linkedLayers) { | |
psd.getLinkedLayersManager().unlinkLayer(linkedLayer); | |
} | |
linkedLayers = psd.getLinkedLayersManager().getLayersByLinkGroupId(linkGroupId); | |
if (linkedLayers != null) { | |
throw new Exception("The linkedLayers field is not NULL."); | |
} | |
psd.save(dataDir + "LinkedLayerexample_output.psd"); | |
} finally { | |
psd.dispose(); | |
} |