From c0b2769e3bcd8904daa4838da9a798d821bef156 Mon Sep 17 00:00:00 2001 From: Jack Yun Date: Mon, 27 Dec 2021 21:39:39 +0900 Subject: [PATCH] Support Group Layer in psd (#648) (cherry picked from commit dc0bdcbd5bb2506ef69262126fb6e5830d5e9e4c) --- .../imageio/plugins/psd/PSD.java | 1 + .../imageio/plugins/psd/PSDImageReader.java | 36 +++++++++++++- .../imageio/plugins/psd/PSDLayerInfo.java | 32 +++++++++++- .../imageio/plugins/psd/PSDMetadata.java | 10 ++++ .../plugins/psd/PSDMetadataFormat.java | 5 ++ .../plugins/psd/PSDImageReaderTest.java | 47 ++++++++++++++++++ .../resources/psd/layer_group_32bit5x5.psd | Bin 0 -> 314211 bytes 7 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 imageio/imageio-psd/src/test/resources/psd/layer_group_32bit5x5.psd diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSD.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSD.java index 1160c297..da7cf425 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSD.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSD.java @@ -708,4 +708,5 @@ interface PSD extends com.twelvemonkeys.imageio.metadata.psd.PSD { int PxSD = 'P' << 24 | 'x' << 16 | 'S' << 8 | 'D'; int luni = 'l' << 24 | 'u' << 16 | 'n' << 8 | 'i'; int lyid = 'l' << 24 | 'y' << 16 | 'i' << 8 | 'd'; + int lsct = 'l' << 24 | 's' << 16 | 'c' << 8 | 't'; } diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java index 61c22027..6b2a43e2 100644 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java @@ -947,8 +947,42 @@ public final class PSDImageReader extends ImageReaderBase { if (pParseData && metadata.layerInfo == null) { PSDLayerInfo[] layerInfos = new PSDLayerInfo[Math.abs(layerCount)]; + + Stack> groupStack = new Stack<>(); + List groupedLayerInfo = null; + for (int i = 0; i < layerInfos.length; i++) { - layerInfos[i] = new PSDLayerInfo(header.largeFormat, imageInput); + PSDLayerInfo layerInfo = new PSDLayerInfo(header.largeFormat, imageInput); + layerInfos[i] = layerInfo; + + if (layerInfo.sectionDividerSettingType == PSDLayerInfo.SectionDividerSetting.BOUNDING_SECTION_DIVIDER) { + if (groupedLayerInfo == null) { + groupedLayerInfo = new LinkedList<>(); + groupStack.add(groupedLayerInfo); + } else { + groupStack.add(groupedLayerInfo); + groupedLayerInfo = new LinkedList<>(); + } + layerInfo.sectionDivider = true; + } + else if (layerInfo.sectionDividerSettingType == PSDLayerInfo.SectionDividerSetting.OPEN_FOLDER || + layerInfo.sectionDividerSettingType == PSDLayerInfo.SectionDividerSetting.CLOSED_FOLDER) { + // can't happen but for defense logic + if (groupedLayerInfo == null) { + continue; + } + for (PSDLayerInfo info : groupedLayerInfo) { + info.groupLayerId = layerInfo.getLayerId(); + } + groupedLayerInfo = groupStack.pop(); + groupedLayerInfo.add(layerInfo); + layerInfo.group = true; + } + else { + if (groupedLayerInfo != null) { + groupedLayerInfo.add(layerInfo); + } + } } metadata.layerInfo = Arrays.asList(layerInfos); diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerInfo.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerInfo.java index ccc0559a..f24a8fa4 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerInfo.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerInfo.java @@ -57,6 +57,12 @@ final class PSDLayerInfo { private String unicodeLayerName; private int layerId; + Integer groupLayerId; + Boolean group = false; + Boolean sectionDivider = false; + + SectionDividerSetting sectionDividerSettingType; + PSDLayerInfo(final boolean largeFormat, final ImageInputStream pInput) throws IOException { top = pInput.readInt(); left = pInput.readInt(); @@ -64,7 +70,7 @@ final class PSDLayerInfo { right = pInput.readInt(); int channels = pInput.readUnsignedShort(); - + channelInfo = new PSDChannelInfo[channels]; for (int i = 0; i < channels; i++) { short channelId = pInput.readShort(); @@ -132,6 +138,7 @@ final class PSDLayerInfo { // System.out.println("key: " + PSDUtil.intToStr(resourceKey)); // System.out.println("length: " + resourceLength); + switch (resourceKey) { case PSD.luni: unicodeLayerName = PSDUtil.readUnicodeString(pInput); @@ -144,7 +151,10 @@ final class PSDLayerInfo { } layerId = pInput.readInt(); break; - + case PSD.lsct: + sectionDividerSettingType = SectionDividerSetting.valueOf(pInput.readInt()); + pInput.skipBytes(resourceLength - 4); + break; default: // TODO: Parse more data... pInput.skipBytes(resourceLength); @@ -191,4 +201,22 @@ final class PSDLayerInfo { builder.append("]"); return builder.toString(); } + + public enum SectionDividerSetting { + LAYER(0), OPEN_FOLDER(1), CLOSED_FOLDER(2), BOUNDING_SECTION_DIVIDER(3); + SectionDividerSetting(int value) { this.value = value;} + + private final int value; + public int value() { return value; } + + public static SectionDividerSetting valueOf(int value){ + for(SectionDividerSetting rt : SectionDividerSetting.values()){ + if(rt.value == value){ + return rt; + } + } + + return null; + } + } } diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadata.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadata.java index 25d54980..f57a7c16 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadata.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadata.java @@ -387,12 +387,22 @@ public final class PSDMetadata extends AbstractMetadata { node.setAttribute("left", String.valueOf(psdLayerInfo.left)); node.setAttribute("bottom", String.valueOf(psdLayerInfo.bottom)); node.setAttribute("right", String.valueOf(psdLayerInfo.right)); + node.setAttribute("layerId", String.valueOf(psdLayerInfo.getLayerId())); + node.setAttribute("groupLayerId", String.valueOf(psdLayerInfo.groupLayerId)); node.setAttribute("blendMode", PSDUtil.intToStr(psdLayerInfo.blendMode.blendMode)); node.setAttribute("opacity", String.valueOf(psdLayerInfo.blendMode.opacity)); // 0-255 node.setAttribute("clipping", getClippingValue(psdLayerInfo.blendMode.clipping)); // Enum: 0: Base, 1: Non-base, n: unknown node.setAttribute("flags", String.valueOf(psdLayerInfo.blendMode.flags)); + if ((psdLayerInfo.group)){ + node.setAttribute("group", String.valueOf(psdLayerInfo.group)); + } + + if ((psdLayerInfo.sectionDivider)) { + node.setAttribute("sectionDivider", String.valueOf(psdLayerInfo.sectionDivider)); + } + if ((psdLayerInfo.blendMode.flags & 0x01) != 0) { node.setAttribute("transparencyProtected", "true"); } diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadataFormat.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadataFormat.java index cf6a9fee..03b82fbe 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadataFormat.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDMetadataFormat.java @@ -247,6 +247,11 @@ public final class PSDMetadataFormat extends IIOMetadataFormatImpl { addAttribute("LayerInfo", "opacity", DATATYPE_INTEGER, false, "0"); addAttribute("LayerInfo", "clipping", DATATYPE_STRING, false, "base", Arrays.asList("base", "non-base")); addAttribute("LayerInfo", "flags", DATATYPE_INTEGER, false, "0"); + addAttribute("LayerInfo", "layerId", DATATYPE_INTEGER, false, null); + addAttribute("LayerInfo", "groupLayerId", DATATYPE_INTEGER, false, null); + addAttribute("LayerInfo", "group", DATATYPE_BOOLEAN, false, "false"); + addAttribute("LayerInfo", "sectionDivider", DATATYPE_INTEGER, false, "false"); + // Redundant (derived from flags) addAttribute("LayerInfo", "transparencyProtected", DATATYPE_BOOLEAN, false, "false"); diff --git a/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderTest.java b/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderTest.java index c21ca4e4..d2f5edd8 100755 --- a/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderTest.java +++ b/imageio/imageio-psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderTest.java @@ -532,4 +532,51 @@ public class PSDImageReaderTest extends ImageReaderAbstractTest assertEquals("If_The_Layer_Name_Is_Really_Long_Oh_No_What_Do_I_Do", ((IIOMetadataNode) layerInfo.item(0)).getAttribute("name")); } } + + @Test + public void testGroupLayerRead() throws IOException { + PSDImageReader imageReader = createReader(); + + try (ImageInputStream stream = ImageIO.createImageInputStream(getClassLoaderResource("/psd/layer_group_32bit5x5.psd"))) { + imageReader.setInput(stream); + + IIOMetadata metadata = imageReader.getImageMetadata(0); + List layerInfos = ((PSDMetadata) metadata).layerInfo; + + assertEquals(layerInfos.size(), 5); + + PSDLayerInfo groupedLayer = null; + PSDLayerInfo groupLayer = null; + PSDLayerInfo sectionDividerLayer = null; + for (PSDLayerInfo layerInfo : layerInfos) { + if (layerInfo.getLayerId() == 5) { + groupedLayer = layerInfo; + } + + if (layerInfo.getLayerId() == 6) { + groupLayer = layerInfo; + } + + if (layerInfo.getLayerId() == 7) { + sectionDividerLayer = layerInfo; + } + } + + assertNotNull(groupedLayer); + assertEquals((int) groupedLayer.groupLayerId, 6); + assertEquals(groupedLayer.group, false); + assertEquals(groupedLayer.sectionDivider, false); + + assertNotNull(groupLayer); + assertNull(groupLayer.groupLayerId); + assertEquals(groupLayer.group, true); + assertEquals(groupLayer.sectionDivider, false); + + assertNotNull(sectionDividerLayer); + assertNull(sectionDividerLayer.groupLayerId); + assertEquals(sectionDividerLayer.group, false); + assertEquals(sectionDividerLayer.sectionDivider, true); + + } + } } \ No newline at end of file diff --git a/imageio/imageio-psd/src/test/resources/psd/layer_group_32bit5x5.psd b/imageio/imageio-psd/src/test/resources/psd/layer_group_32bit5x5.psd new file mode 100644 index 0000000000000000000000000000000000000000..97ce355f042bd6f02616511d76967a957b0c3398 GIT binary patch literal 314211 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 H#zX!;-v