کار با لایهها
پشتیبانی از لایههای متصل
ارتباط لایهها مانند گروهبندی لایهها است. اگر دو یا بیشتر لایه را به یکدیگر متصل کنید، این به شما امکان میدهد تا تغییرات خاصی را بر روی هر دو لایه متصل شده اعمال کنید. به عنوان مثال، اگر تغییراتی را بر روی یک لایه اعمال کنید، این تغییرات بر روی سایر لایههای متصل نیز اعمال خواهد شد. این مقاله نحوهی دریافت و جداسازی لایههای متصل شده را با استفاده از Aspose.PSD برای 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(); | |
} |