📄 standardmetadataformat.java
字号:
/* * @(#)StandardMetadataFormat.java 1.10 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.imageio.plugins.common;import java.util.ArrayList;import java.util.List;import javax.imageio.ImageTypeSpecifier;import javax.imageio.metadata.IIOMetadataFormatImpl;public class StandardMetadataFormat extends IIOMetadataFormatImpl { // Utility method for nodes with a single atttribute named "value" private void addSingleAttributeElement(String elementName, String parentName, int dataType) { addElement(elementName, parentName, CHILD_POLICY_EMPTY); addAttribute(elementName, "value", dataType, true, null); } public StandardMetadataFormat() { super(standardMetadataFormatName, CHILD_POLICY_SOME); List values; // root -> Chroma addElement("Chroma", standardMetadataFormatName, CHILD_POLICY_SOME); // root -> Chroma -> ColorSpaceType addElement("ColorSpaceType", "Chroma", CHILD_POLICY_EMPTY); values = new ArrayList(); values.add("XYZ"); values.add("Lab"); values.add("Luv"); values.add("YCbCr"); values.add("Yxy"); values.add("YCCK"); values.add("PhotoYCC"); values.add("RGB"); values.add("GRAY"); values.add("HSV"); values.add("HLS"); values.add("CMYK"); values.add("CMY"); values.add("2CLR"); values.add("3CLR"); values.add("4CLR"); values.add("5CLR"); values.add("6CLR"); values.add("7CLR"); values.add("8CLR"); values.add("9CLR"); values.add("ACLR"); values.add("BCLR"); values.add("CCLR"); values.add("DCLR"); values.add("ECLR"); values.add("FCLR"); addAttribute("ColorSpaceType", "name", DATATYPE_STRING, true, null, values); // root -> Chroma -> NumChannels addElement("NumChannels", "Chroma", CHILD_POLICY_EMPTY); addAttribute("NumChannels", "value", DATATYPE_INTEGER, true, 0, Integer.MAX_VALUE); // root -> Chroma -> Gamma addElement("Gamma", "Chroma", CHILD_POLICY_EMPTY); addAttribute("Gamma", "value", DATATYPE_FLOAT, true, null); // root -> Chroma -> BlackIsZero addElement("BlackIsZero", "Chroma", CHILD_POLICY_EMPTY); addBooleanAttribute("BlackIsZero", "value", true, true); // root -> Chroma -> Palette addElement("Palette", "Chroma", 0, Integer.MAX_VALUE); // root -> Chroma -> PaletteEntry addElement("PaletteEntry", "Palette", CHILD_POLICY_EMPTY); addAttribute("PaletteEntry", "index", DATATYPE_INTEGER, true, null); addAttribute("PaletteEntry", "red", DATATYPE_INTEGER, true, null); addAttribute("PaletteEntry", "green", DATATYPE_INTEGER, true, null); addAttribute("PaletteEntry", "blue", DATATYPE_INTEGER, true, null); addAttribute("PaletteEntry", "alpha", DATATYPE_INTEGER, false, "255"); // root -> Chroma -> BackgroundIndex addElement("BackgroundIndex", "Chroma", CHILD_POLICY_EMPTY); addAttribute("BackgroundIndex", "value", DATATYPE_INTEGER, true, null); // root -> Chroma -> BackgroundColor addElement("BackgroundColor", "Chroma", CHILD_POLICY_EMPTY); addAttribute("BackgroundColor", "red", DATATYPE_INTEGER, true, null); addAttribute("BackgroundColor", "green", DATATYPE_INTEGER, true, null); addAttribute("BackgroundColor", "blue", DATATYPE_INTEGER, true, null); // root -> Compression addElement("Compression", standardMetadataFormatName, CHILD_POLICY_SOME); // root -> Compression -> CompressionTypeName addSingleAttributeElement("CompressionTypeName", "Compression", DATATYPE_STRING); // root -> Compression -> Lossless addElement("Lossless", "Compression", CHILD_POLICY_EMPTY); addBooleanAttribute("Lossless", "value", true, true); // root -> Compression -> NumProgressiveScans addSingleAttributeElement("NumProgressiveScans", "Compression", DATATYPE_INTEGER); // root -> Compression -> BitRate addSingleAttributeElement("BitRate", "Compression", DATATYPE_FLOAT); // root -> Data addElement("Data", standardMetadataFormatName, CHILD_POLICY_SOME); // root -> Data -> PlanarConfiguration addElement("PlanarConfiguration", "Data", CHILD_POLICY_EMPTY); values = new ArrayList(); values.add("PixelInterleaved"); values.add("PlaneInterleaved"); values.add("LineInterleaved"); values.add("TileInterleaved"); addAttribute("PlanarConfiguration", "value", DATATYPE_STRING, true, null, values); // root -> Data -> SampleFormat addElement("SampleFormat", "Data", CHILD_POLICY_EMPTY); values = new ArrayList(); values.add("SignedIntegral"); values.add("UnsignedIntegral"); values.add("Real"); values.add("Index"); addAttribute("SampleFormat", "value", DATATYPE_STRING, true, null, values); // root -> Data -> BitsPerSample addElement("BitsPerSample", "Data", CHILD_POLICY_EMPTY); addAttribute("BitsPerSample", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // root -> Data -> SignificantBitsPerSample addElement("SignificantBitsPerSample", "Data", CHILD_POLICY_EMPTY); addAttribute("SignificantBitsPerSample", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // root -> Data -> SampleMSB addElement("SampleMSB", "Data", CHILD_POLICY_EMPTY); addAttribute("SampleMSB", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // root -> Dimension addElement("Dimension", standardMetadataFormatName, CHILD_POLICY_SOME); // root -> Dimension -> PixelAspectRatio addSingleAttributeElement("PixelAspectRatio", "Dimension", DATATYPE_FLOAT); // root -> Dimension -> ImageOrientation addElement("ImageOrientation", "Dimension", CHILD_POLICY_EMPTY); values = new ArrayList(); values.add("Normal"); values.add("Rotate90"); values.add("Rotate180"); values.add("Rotate270"); values.add("FlipH"); values.add("FlipV"); values.add("FlipHRotate90"); values.add("FlipVRotate90"); addAttribute("ImageOrientation", "value", DATATYPE_STRING, true, null, values); // root -> Dimension -> HorizontalPixelSize addSingleAttributeElement("HorizontalPixelSize", "Dimension", DATATYPE_FLOAT); // root -> Dimension -> VerticalPixelSize addSingleAttributeElement("VerticalPixelSize", "Dimension", DATATYPE_FLOAT); // root -> Dimension -> HorizontalPhysicalPixelSpacing addSingleAttributeElement("HorizontalPhysicalPixelSpacing", "Dimension", DATATYPE_FLOAT); // root -> Dimension -> VerticalPhysicalPixelSpacing addSingleAttributeElement("VerticalPhysicalPixelSpacing",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -