リンクされたレイヤーのサポート

レイヤーのリンクは、レイヤーをグループ化するのと同じです。2つ以上のレイヤーをリンクすると、リンクされたレイヤーの両方に特定の変更を加えることができます。たとえば、1つのレイヤーに変換を適用すると、他のすべてのリンクされたレイヤーにも適用されます。この記事では、Aspose.PSD for 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();
}