亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? colorspace.java

?? jpeg2000編解碼
?? JAVA
字號:
/***************************************************************************** * * $Id: ColorSpace.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;import java.io.IOException;import jj2000.j2k.codestream.reader.*;import jj2000.j2k.fileformat.*;import jj2000.j2k.util.*;import jj2000.j2k.io.*;import colorspace.boxes.*;import icc.*;/** * This class analyzes the image to provide colorspace * information for the decoding chain.  It does this by * examining the box structure of the JP2 image. * It also provides access to the parameter list information, * which is stored as a public final field. *  * @see		jj2000.j2k.icc.ICCProfile * @version	1.0 * @author	Bruce A. Kern */public class ColorSpace {    public static final String eol = System.getProperty("line.separator");    // Renamed for convenience:    static final int GRAY  = 0;    static final int RED   = 1;    static final int GREEN = 2;    static final int BLUE  = 3;    /** Parameter Specs */    public ParameterList pl;    /** Parameter Specs */    public HeaderDecoder hd;    /* Image box structure as pertains to colorspacees. */    private PaletteBox pbox = null;    private ComponentMappingBox cmbox = null;    private ColorSpecificationBox csbox = null;    private ChannelDefinitionBox cdbox = null;    private ImageHeaderBox ihbox = null;    /** Input image */    private RandomAccessIO in = null;    /**     * Retrieve the ICC profile from the images as     * a byte array.     * @return the ICC Profile as a byte [].     */    public byte[] getICCProfile() {        return csbox.getICCProfile();     }        /** Indent a String that contains newlines. */    public static String indent(String ident, StringBuffer instr) {        return indent(ident, instr.toString());     }        /** Indent a String that contains newlines. */    public static String indent(String ident, String instr) {        StringBuffer tgt = new StringBuffer (instr);        char eolChar = eol.charAt(0);        int i = tgt.length();        while (--i > 0) {            if (tgt.charAt(i) == eolChar) tgt.insert(i+1,ident); }        return ident + tgt.toString();     }    /**     * public constructor which takes in the image, parameterlist and the     * image header decoder as args.     *   @param in input RandomAccess image file.     *   @param hd provides information about the image header.     *   @param pl provides parameters from the default and commandline lists.      * @exception IOException, ColorSpaceException     */    public ColorSpace(RandomAccessIO in, HeaderDecoder hd, ParameterList pl)         throws IOException, ColorSpaceException {        this.pl = pl;        this.in = in;        this.hd = hd;        getBoxes();     }    /**     * Retrieve the various boxes from the JP2 file.     * @exception ColorSpaceException, IOException     */    final protected void getBoxes() throws ColorSpaceException, IOException {        byte [] data;        int type;        long len = 0;        int boxStart  = 0;        byte [] boxHeader = new byte [16];        int i=0;        // Search the toplevel boxes for the header box        while (true) {            in.seek(boxStart);            in.readFully(boxHeader,0,16);            len = (long) ICCProfile.getInt(boxHeader,0);            if(len==1) len = ICCProfile.getLong(boxHeader,8);  // Extended							       // length            type =  ICCProfile.getInt(boxHeader,4);            // Verify the contents of the file so far.            if(i==0 && type!=FileFormatBoxes.JP2_SIGNATURE_BOX) {                throw new ColorSpaceException ("first box in image not "+					       "signature");            } else if(i==1 && type!=FileFormatBoxes.FILE_TYPE_BOX) {                throw new ColorSpaceException ("second box in image not file");            } else if(type==FileFormatBoxes.CONTIGUOUS_CODESTREAM_BOX) {                throw new ColorSpaceException ("header box not found in "+					       "image");            } else if(type==FileFormatBoxes.JP2_HEADER_BOX) break;            // Progress to the next box.            ++i;            boxStart += len; 	}                // boxStart indexes the start of the JP2_HEADER_BOX,        // make headerBoxEnd index the end of the box.        long headerBoxEnd = boxStart+len;        if(len==1) boxStart += 8;  // Extended length header        for(boxStart += 8; boxStart<headerBoxEnd;  boxStart += len) {            in.seek(boxStart);            in.readFully(boxHeader,0,16);            len = (long) ICCProfile.getInt(boxHeader,0);            if(len==1) throw new ColorSpaceException("Extended length boxes "+						     "not supported");            type = (int) ICCProfile.getInt(boxHeader,4);            switch (type) {            case FileFormatBoxes.IMAGE_HEADER_BOX:                ihbox = new ImageHeaderBox (in,boxStart);                break;            case FileFormatBoxes.COLOUR_SPECIFICATION_BOX:                csbox = new ColorSpecificationBox (in,boxStart);                break;            case FileFormatBoxes.CHANNEL_DEFINITION_BOX:                cdbox = new ChannelDefinitionBox (in,boxStart);                break;            case FileFormatBoxes.COMPONENT_MAPPING_BOX:                cmbox = new ComponentMappingBox (in,boxStart);                break;            case FileFormatBoxes.PALETTE_BOX:                pbox = new PaletteBox (in,boxStart);                break;            default:                break;            }}        if(ihbox==null)             throw new ColorSpaceException ("image header box not found");        if ((pbox==null && cmbox!=null) || (pbox!=null && cmbox==null))            throw new ColorSpaceException ("palette box and component "+					   "mapping box inconsistency");     }    /** Return the channel definition of the input component. */    public int getChannelDefinition (int c) {        if(cdbox==null) return c;        else return cdbox.getCn(c+1);     }    /** Return the colorspace method (Profiled, enumerated, or palettized). */    public MethodEnum getMethod () {        return csbox.getMethod(); }    /** Return the colorspace (sYCC, sRGB, sGreyScale). */    public CSEnum getColorSpace () {        return csbox.getColorSpace(); }    /** Return number of channels in the palette. */    public  /*final*/ PaletteBox getPaletteBox() {        return pbox; }    /** Return number of channels in the palette. */    public int getPaletteChannels() {        return pbox == null?            0:            pbox.getNumColumns(); }    /** Return bitdepth of the palette entries. */    public int getPaletteChannelBits(int c) {        return pbox == null?            0:            pbox.getBitDepth(c); }    /**     * Return a palettized sample     *   @param channel requested      *   @param index of entry     * @return palettized sample     */    public int getPalettizedSample(int channel, int index) {        return pbox == null?            0:            pbox.getEntry (channel,index); }    /** Is palettized predicate. */    public boolean isPalettized() {        return pbox != null; }    /** Signed output predicate. */    public boolean isOutputSigned (int channel) {        return (pbox!=null) ?            pbox.isSigned(channel):            hd.isOriginalSigned(channel); }    /** Return a suitable String representation of the class instance. */    public String toString () {        StringBuffer rep = new StringBuffer ("[ColorSpace is ")            .append(csbox.getMethodString())            .append(isPalettized()? "  and palettized ": " ")            .append(getMethod() == ENUMERATED? csbox.		    getColorSpaceString(): "");        if (ihbox!=null) rep.append(eol).			     append(indent("    ",ihbox.toString()));        if (cdbox!=null) rep.append(eol).			     append(indent("    ",cdbox.toString()));        if (csbox!=null) rep.append(eol).			     append(indent("    ",csbox.toString()));        if (pbox!=null) rep.append(eol).append(indent("    ",pbox.toString()));        if (cmbox!=null) rep.append(eol).			     append(indent("    ",cmbox.toString()));        return rep.append("]").toString(); }    /**     * Are profiling diagnostics turned on     * @return yes or no     */    public boolean debugging() {        return pl.getProperty("colorspace_debug")!=null &&             pl.getProperty("colorspace_debug").equalsIgnoreCase("on"); }    /* Enumeration Class */    /** method enumeration */     public final static MethodEnum ICC_PROFILED = new MethodEnum ("profiled");    /** method enumeration */     public final static MethodEnum ENUMERATED = new MethodEnum ("enumerated");        /** colorspace enumeration */     public final static CSEnum sRGB       = new CSEnum("sRGB");    /** colorspace enumeration */     public final static CSEnum GreyScale  = new CSEnum("GreyScale");    /** colorspace enumeration */     public final static CSEnum sYCC       = new CSEnum("sYCC");    /** colorspace enumeration */     public final static CSEnum Illegal    = new CSEnum("Illegal");    /** colorspace enumeration */    public final static CSEnum Unknown    = new CSEnum("Unknown");    /**     * Typesafe enumeration class     * @version	1.0     * @author	Bruce A Kern     */    public static class Enumeration {        public final String value;        public Enumeration (String value) { 	    this.value=value; 	}        public String toString () { 	    return value; 	}    }        /**     * Method enumeration class     * @version	1.0     * @author	Bruce A Kern     */    public static class MethodEnum extends Enumeration { 	public MethodEnum (String value) {super(value); 	}    }    /**     * Colorspace enumeration class     * @version	1.0     * @author	Bruce A Kern     */    public static class CSEnum extends Enumeration { 	public CSEnum (String value) {super(value); 	}    }    /* end class ColorSpace */ }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女av一区二区三区| 91行情网站电视在线观看高清版| 成人午夜激情影院| 久久精品一区蜜桃臀影院| 亚洲一区成人在线| 成人午夜视频网站| 欧美大白屁股肥臀xxxxxx| 亚洲精品va在线观看| 国产馆精品极品| 精品久久久久久无| 日韩精品色哟哟| 欧美日韩在线直播| 亚洲精品国产精品乱码不99 | 亚洲精品中文在线观看| 国产真实乱对白精彩久久| 欧美日韩激情一区二区三区| 中文字幕一区二区三中文字幕| 国内欧美视频一区二区| 91精品国产全国免费观看| 亚洲在线视频免费观看| 色婷婷久久99综合精品jk白丝| 久久无码av三级| 韩国av一区二区| 精品99999| 久久av老司机精品网站导航| 777色狠狠一区二区三区| 午夜视频一区二区| 欧美视频你懂的| 亚洲成人免费在线| 欧美精品亚洲一区二区在线播放| 成人免费在线视频| 99精品热视频| 亚洲欧美日韩电影| 一本久久精品一区二区| 亚洲欧美二区三区| 欧洲另类一二三四区| 亚洲妇熟xx妇色黄| 777久久久精品| 精品写真视频在线观看| 精品日韩99亚洲| 国精产品一区一区三区mba视频| 精品国产一区二区三区忘忧草| 精品一区二区久久| 国产亚洲综合av| av电影一区二区| 亚洲精品国产无天堂网2021| 欧美日韩日日摸| 秋霞午夜鲁丝一区二区老狼| 精品久久五月天| 成人免费高清在线| 亚洲高清不卡在线| 精品国产乱码久久| 99久久精品免费看| 日本欧美在线观看| 国产日本欧洲亚洲| 日韩一卡二卡三卡四卡| 久久精工是国产品牌吗| 国产精品天天看| 欧日韩精品视频| 韩国毛片一区二区三区| 中文字幕在线观看不卡视频| 欧美三级电影在线看| 久久疯狂做爰流白浆xx| 国产精品动漫网站| 91麻豆精品国产91久久久| 激情欧美一区二区| 一区二区三区自拍| 久久中文娱乐网| 91黄色免费网站| 韩国av一区二区三区在线观看| 自拍视频在线观看一区二区| 欧美一级高清片| 91老师片黄在线观看| 精久久久久久久久久久| 亚洲三级免费电影| 久久久久亚洲蜜桃| 欧美日韩一区视频| 大白屁股一区二区视频| 日韩成人免费电影| 最新国产の精品合集bt伙计| 精品日产卡一卡二卡麻豆| 色狠狠色狠狠综合| 国产·精品毛片| 琪琪一区二区三区| 亚洲成人一二三| 一区精品在线播放| 国产亚洲精品aa| 欧美一区二区久久| 91国模大尺度私拍在线视频| 国产精品一二三四| 麻豆国产精品官网| 亚洲高清不卡在线观看| 亚洲日本一区二区三区| 久久精品水蜜桃av综合天堂| 91精品午夜视频| 欧美色视频在线观看| 一本一道波多野结衣一区二区| 国产高清成人在线| 精品一区二区精品| 狂野欧美性猛交blacked| 天堂av在线一区| 亚洲国产精品一区二区久久恐怖片 | 欧亚洲嫩模精品一区三区| 国产精品一区二区你懂的| 久久激情五月婷婷| 七七婷婷婷婷精品国产| 日韩中文字幕不卡| 午夜在线成人av| 亚洲国产一区二区视频| 亚洲免费三区一区二区| 亚洲视频在线一区二区| 中文字幕在线不卡一区| 国产精品成人免费在线| 亚洲欧洲精品一区二区精品久久久 | 欧美一级午夜免费电影| 欧美日韩激情在线| 欧美精品亚洲一区二区在线播放| 欧美日韩久久久| 在线电影一区二区三区| 欧美一区二区三区在线看| 欧美一区二区三区公司| 欧美成人精品福利| 国产日韩欧美麻豆| 国产精品入口麻豆九色| 亚洲欧洲一区二区在线播放| 亚洲欧美一区二区三区极速播放| 亚洲人成在线播放网站岛国| 一区二区欧美精品| 成人av在线观| 99久久婷婷国产精品综合| 91视频观看视频| 欧美日韩国产三级| 日韩免费福利电影在线观看| 久久综合色之久久综合| 中文字幕av资源一区| 亚洲黄色录像片| 日韩avvvv在线播放| 国产精品亚洲第一区在线暖暖韩国| 国产成人精品影院| 91久久精品一区二区三| 欧美一区二区三区视频在线观看| 日韩欧美区一区二| 中文字幕欧美激情| 亚洲影院在线观看| 精品一区二区在线观看| 成人午夜激情在线| 在线综合视频播放| 欧美激情一区二区三区不卡 | 色偷偷久久一区二区三区| 欧美卡1卡2卡| 国产日产欧美一区| 亚洲午夜羞羞片| 国产一区二区三区免费观看| eeuss影院一区二区三区| 欧美日韩国产精品成人| 国产视频一区在线播放| 亚洲国产一区二区a毛片| 国产一区二区三区电影在线观看 | 国内外精品视频| 欧洲视频一区二区| 国产无一区二区| 丝袜美腿高跟呻吟高潮一区| 粉嫩aⅴ一区二区三区四区五区| 精品视频在线免费| 日韩一区欧美一区| 在线观看欧美日本| 久久久久国产精品人| 亚洲成年人网站在线观看| 成人午夜电影网站| 日韩欧美国产一二三区| 一区二区三区国产精品| 国产成人在线视频免费播放| 欧美一级高清大全免费观看| 一区二区三区在线视频观看58| 国产**成人网毛片九色| 欧美电影免费观看高清完整版在线观看| **网站欧美大片在线观看| 国产麻豆精品一区二区| 欧美一区二区福利在线| 亚洲一线二线三线久久久| 成人av手机在线观看| 久久久久久久久久电影| 免费观看成人av| 欧美一区二区三区视频在线| 一区二区三区欧美| 91香蕉视频污在线| 中文一区一区三区高中清不卡| 国产综合色在线视频区| 欧美一级理论性理论a| 五月天中文字幕一区二区| 欧美伊人精品成人久久综合97| ●精品国产综合乱码久久久久| 丰满白嫩尤物一区二区| 久久久久久久一区| 国产精品一区三区| 久久免费美女视频| 国产高清久久久| 国产日韩欧美亚洲| 成人动漫一区二区| 亚洲人成亚洲人成在线观看图片|