⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jp2box.java

📁 jpeg2000编解码
💻 JAVA
字号:
/***************************************************************************** * * $Id: JP2Box.java,v 1.1.1.1 2002/08/02 09:48:16 grosbois Exp $ * * Copyright Eastman Kodak Company, 343 State Street, Rochester, NY 14650 * $Date $ *****************************************************************************/package colorspace.boxes;import colorspace .ColorSpaceException;import jj2000.j2k.fileformat.FileFormatBoxes;import icc .ICCProfile;import jj2000.j2k.util.ParameterList;import jj2000.j2k.io.RandomAccessIO;import java.io.IOException;/** * The abstract super class modeling the aspects of * a JP2 box common to all such boxes. *  * @version	1.0 * @author	Bruce A. Kern */public abstract class JP2Box{    /** Platform dependant line terminator */ public final static String eol = System.getProperty ("line.separator");    /** Box type                           */ public static int type;    /** Return a String representation of the Box type. */    public static String getTypeString (int t) {        return BoxType.get(t); }    /** Length of the box.             */ public     int length;    /** input file                     */ protected RandomAccessIO in;    /** offset to start of box         */ protected int boxStart;    /** offset to end of box           */ protected int boxEnd;    /** offset to start of data in box */ protected int dataStart;    public JP2Box ()        throws ColorSpaceException {            try { throw new ColorSpaceException ("JP2Box empty ctor called!!"); }            catch (ColorSpaceException e) {e.printStackTrace(); throw e;}}    /**     * Construct a JP2Box from an input image.     *   @param in RandomAccessIO jp2 image     *   @param boxStart offset to the start of the box in the image     * @exception IOException, ColorSpaceException      */    public JP2Box (RandomAccessIO in, int boxStart)         throws IOException, ColorSpaceException {        byte [] boxHeader = new byte [16];        this.in = in;        this.boxStart  = boxStart;        this.in.seek(this.boxStart);        this.in.readFully(boxHeader,0,8);        this.dataStart = boxStart+8;        this.length    = ICCProfile.getInt(boxHeader,0);        this.boxEnd    = boxStart+length;        if (length==1) throw new ColorSpaceException("extended length boxes not supported"); }    /** Return the box type as a String. */    public String getTypeString () {        return BoxType.get(this.type); }    /** JP2 Box structure analysis help */    protected static class BoxType extends java.util.Hashtable {        private static java.util.Hashtable map = new java.util.Hashtable();        static {            put (FileFormatBoxes.BITS_PER_COMPONENT_BOX,"BITS_PER_COMPONENT_BOX");            put (FileFormatBoxes.CAPTURE_RESOLUTION_BOX,"CAPTURE_RESOLUTION_BOX");            put (FileFormatBoxes.CHANNEL_DEFINITION_BOX,"CHANNEL_DEFINITION_BOX");            put (FileFormatBoxes.COLOUR_SPECIFICATION_BOX,"COLOUR_SPECIFICATION_BOX");            put (FileFormatBoxes.COMPONENT_MAPPING_BOX,"COMPONENT_MAPPING_BOX");            put (FileFormatBoxes.CONTIGUOUS_CODESTREAM_BOX,"CONTIGUOUS_CODESTREAM_BOX");            put (FileFormatBoxes.DEFAULT_DISPLAY_RESOLUTION_BOX,"DEFAULT_DISPLAY_RESOLUTION_BOX");            put (FileFormatBoxes.FILE_TYPE_BOX,"FILE_TYPE_BOX");            put (FileFormatBoxes.IMAGE_HEADER_BOX,"IMAGE_HEADER_BOX");            put (FileFormatBoxes.INTELLECTUAL_PROPERTY_BOX,"INTELLECTUAL_PROPERTY_BOX");            put (FileFormatBoxes.JP2_HEADER_BOX,"JP2_HEADER_BOX");            put (FileFormatBoxes.JP2_SIGNATURE_BOX,"JP2_SIGNATURE_BOX");            put (FileFormatBoxes.PALETTE_BOX,"PALETTE_BOX");            put (FileFormatBoxes.RESOLUTION_BOX,"RESOLUTION_BOX");            put (FileFormatBoxes.URL_BOX,"URL_BOX");            put (FileFormatBoxes.UUID_BOX,"UUID_BOX");            put (FileFormatBoxes.UUID_INFO_BOX,"UUID_INFO_BOX");            put (FileFormatBoxes.UUID_LIST_BOX,"UUID_LIST_BOX");            put (FileFormatBoxes.XML_BOX,"XML_BOX"); }        private static void put (int type, String desc) {            map.put (new Integer (type), desc); }        public static String get (int type) {            return (String) map.get (new Integer(type));}        /* end class BoxType */ }    /* end class JP2Box */ }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -