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

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

?? tiler.java

?? jpeg2000算法實現
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
     * is created if necessary. The implementation of this interface may     * choose to return the same array or a new one, depending on what is more     * efficient. Therefore, the data array in <tt>blk</tt> prior to the     * method call should not be considered to contain the returned data, a     * new array may have been created. Instead, get the array from     * <tt>blk</tt> after the method has returned.     *     * <P>The returned data may have its 'progressive' attribute set. In this     * case the returned data is only an approximation of the "final" data.     *     * @param blk Its coordinates and dimensions specify the area to return,     * relative to the current tile. Some fields in this object are modified     * to return the data.     *     * @param c The index of the component from which to get the data.     *     * @return The requested DataBlk     *     * @see #getCompData     * */    public final DataBlk getInternCompData(DataBlk blk, int c) {        // Check that block is inside tile        if (blk.ulx < 0 || blk.uly < 0 ||             blk.ulx+blk.w > bw[c] || blk.uly+blk.h > bh[c]) {            throw new IllegalArgumentException("Block is outside the tile");        }        // Translate to the sources coordinates        blk.ulx += iulx[c];        blk.uly += iuly[c];        blk = src.getInternCompData(blk,c);        // Translate back to the tiled coordinates        blk.ulx -= iulx[c];        blk.uly -= iuly[c];	return blk;    }    /**     * Returns, in the blk argument, a block of image data containing the     * specifed rectangular area, in the specified component. The data is     * returned, as a copy of the internal data, therefore the returned data     * can be modified "in place".     *     * <P>The rectangular area to return is specified by the 'ulx', 'uly', 'w'     * and 'h' members of the 'blk' argument, relative to the current     * tile. These members are not modified by this method. The 'offset' of     * the returned data is 0, and the 'scanw' is the same as the block's     * width. See the 'DataBlk' class.     *     * <P>This method, in general, is less efficient than the     * 'getInternCompData()' method since, in general, it copies the     * data. However if the array of returned data is to be modified by the     * caller then this method is preferable.     *     * <P>If the data array in 'blk' is 'null', then a new one is created. If     * the data array is not 'null' then it is reused, and it must be large     * enough to contain the block's data. Otherwise an 'ArrayStoreException'     * or an 'IndexOutOfBoundsException' is thrown by the Java system.     *     * <P>The returned data may have its 'progressive' attribute set. In this     * case the returned data is only an approximation of the "final" data.     *     * @param blk Its coordinates and dimensions specify the area to return,     * relative to the current tile. If it contains a non-null data array,     * then it must be large enough. If it contains a null data array a new     * one is created. Some fields in this object are modified to return the     * data.     *     * @param n The index of the component from which to get the data.     *     * @return The requested DataBlk     *     * @see #getInternCompData     * */    public final DataBlk getCompData(DataBlk blk, int n) {        // Check that block is inside tile        if (blk.ulx < 0 || blk.uly < 0 ||             blk.ulx+blk.w > bw[n] || blk.uly+blk.h > bh[n]) {            throw new IllegalArgumentException("Block is outside the tile");        }        // Translate to the source's coordinates        blk.ulx += iulx[n];        blk.uly += iuly[n];        blk = src.getCompData(blk,n);        // Translate back to the tiled coordinates        blk.ulx -= iulx[n];        blk.uly -= iuly[n];	return blk;    }    /**     * Changes the current tile, given the new tile indexes. An     * IllegalArgumentException is thrown if the coordinates do not correspond     * to a valid tile.     *     * @param x The horizontal index of the tile.     *     * @param y The vertical index of the new tile.     * */    public final void setTile(int x, int y) {        int i;          // counter        int ctox,ctoy;  // new current tile origin in the reference grid        int tonx;       // x of the origin of the next tile in the X direction        int tony;       // y of the origin of the next tile in the Y direction        // Check tile indexes        if (x < 0 || y < 0 || x >= nht || y >= nvt) {            throw new IllegalArgumentException("Tile's indexes out of bounds");        }        // Set new current tile        tx = x;        ty = y;        // Calculate tile origins        ctox = (x != 0) ? px+x*nw : ax;        ctoy = (y != 0) ? py+y*nh : ay;        tonx = (x != nht-1) ? px+(x+1)*nw : ax+src.getImgWidth();        tony = (y != nvt-1) ? py+(y+1)*nh : ay+src.getImgHeight();        // Set general variables        cw = tonx - ctox;        ch = tony - ctoy;        // Set component specific variables        for (i = src.getNumComps()-1; i >= 0 ; i--) {	    bw[i] = (tonx+src.getCompSubsX(i)-1)/src.getCompSubsX(i) -                (ctox+src.getCompSubsX(i)-1)/src.getCompSubsX(i);	    bh[i] = (tony+src.getCompSubsY(i)-1)/src.getCompSubsY(i) -                (ctoy+src.getCompSubsY(i)-1)/src.getCompSubsY(i);            offX[i] = (px+x*nw+src.getCompSubsX(i)-1)/src.getCompSubsX(i);            offY[i] = (py+y*nh+src.getCompSubsY(i)-1)/src.getCompSubsY(i);            iulx[i] = (ctox+src.getCompSubsX(i)-1)/src.getCompSubsX(i)-                (ax+src.getCompSubsX(i)-1)/src.getCompSubsX(i);            iuly[i] = (ctoy+src.getCompSubsY(i)-1)/src.getCompSubsY(i)-                (ay+src.getCompSubsY(i)-1)/src.getCompSubsY(i);        }    }    /**     * Advances to the next tile, in standard scan-line order (by rows then     * columns). An NoNextElementException is thrown if the current tile is     * the last one (i.e. there is no next tile).     * */    public final void nextTile() {        if (tx == nht-1 && ty == nvt-1) { // Already at last tile            throw new NoNextElementException();        }        else if (tx < nht-1) { // If not at end of current tile line            setTile(tx+1,ty);        }        else { // First tile at next line            setTile(0,ty+1);        }    }    /**     * Returns the horizontal and vertical indexes of the current tile.     *     * @param co If not null this object is used to return the     * information. If null a new one is created and returned.     *     * @return The current tile's horizontal and vertical indexes..     * */    public final Coord getTile(Coord co) {        if (co != null) {            co.x = tx;            co.y = ty;            return co;        }        else {            return new Coord(tx,ty);        }    }    /**     * Returns the index of the current tile, relative to a standard scan-line     * order.     *     * @return The current tile's index (starts at 0).     * */    public final int getTileIdx() {        return ty*nht+tx;    }    /**     * Returns the horizontal and vertical offset of the upper-left corner of     * the current tile, in the specified component, relative to the canvas     * origin, in the component coordinates (not in the reference grid     * coordinates). These are the coordinates of the current tile's (not     * active tile) upper-left corner relative to the canvas.     *     * @param co If not null the object is used to return the values,     * if null a new one is created and returned.     *     * @param c The index of the component (between 0 and N-1).     *     * @return The horizontal and vertical offsets of the upper-left corner of     * the current tile, for the specified component, relative to the canvas     * origin, in the component coordinates.     * */    public final Coord getTileOff(Coord co, int c) {        if (co != null) {            co.x = offX[c];            co.y = offY[c];            return co;        }        else {            return new Coord(offX[c],offY[c]);        }    }    /**     * Returns the horizontal coordinate of the upper-left corner of the     * active tile, with respect to the canvas origin, in the component     * coordinates, for the specified component.     *     * @param c The index of the component (between 0 and N-1)     *     * @return The horizontal coordinate of the upper-left corner of the     * active tile, with respect to the canvas origin, for component 'c', in     * the component coordinates.     * */    public final int getULX(int c) {        return iulx[c]+(ax+src.getCompSubsX(c)-1)/src.getCompSubsX(c);    }    /**     * Returns the vertical coordinate of the upper-left corner of the active     * tile, with respect to the canvas origin, in the component coordinates,     * for the specified component.     *     * @param c The index of the component (between 0 and N-1)     *     * @return The vertical coordinate of the upper-left corner of the active     * tile, with respect to the canvas origin, for component 'c', in the     * component coordinates.     * */    public final int getULY(int c) {        return iuly[c]+(ay+src.getCompSubsY(c)-1)/src.getCompSubsY(c);    }    /**     * Returns the horizontal coordinate of the image origin, the top-left     * corner, in the canvas system, on the reference grid.     *     * @return The horizontal coordinate of the image origin in the canvas     * system, on the reference grid.     * */    public final int getImgULX() {        return ax;    }    /**     * Returns the vertical coordinate of the image origin, the top-left     * corner, in the canvas system, on the reference grid.     *     * @return The vertical coordinate of the image origin in the canvas     * system, on the reference grid.     * */    public final int getImgULY() {        return ay;    }    /**     * Returns the number of tiles in the horizontal and vertical directions.     *     * @param co If not null this object is used to return the information. If     * null a new one is created and returned.     *     * @return The number of tiles in the horizontal (Coord.x) and vertical     * (Coord.y) directions.     * */    public final Coord getNumTiles(Coord co) {        if (co != null) {            co.x = nht;            co.y = nvt;            return co;        }        else {            return new Coord(nht,nvt);        }    }    /**     * Returns the total number of tiles in the image.     *     * @return The total number of tiles in the image.     * */    public final int getNumTiles() {        return nht*nvt;    }    /**     * Returns the nominal width of the tiles in the reference grid.     *     * @return The nominal tile width, in the reference grid.     * */    public final int getNomTileWidth(){        return nw;    }    /**     * Returns the nominal width of the tiles in the reference grid.     *     * @return The nominal tile width, in the reference grid.     * */    public final int getNomTileHeight(){        return nh;    }    /**     * Returns the tiling origin, refferred to as '(Px,Py)' in the 'ImgData'     * interface.     *     * @param co If not null this object is used to return the information. If     * null a new one is created and returned.     *     * @return The coordinate of the tiling origin, in the canvas system, on     * the reference grid.     *     * @see ImgData     * */    public final Coord getTilingOrigin(Coord co) {        if (co != null) {            co.x = px;            co.y = py;            return co;        }        else {            return new Coord(px,py);        }    }    /**     * Returns a String object representing Tiler's informations     *     * @return Tiler's infos in a string     * */    public String toString(){	return 	    "Tiler: source= "+src+	    "\n"+getNumTiles()+" tile(s), nominal width= "+nw+	    ", nominal height= "+nh;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产一级片| 国产亚洲精品7777| 国产欧美日韩久久| 午夜视黄欧洲亚洲| www.av精品| 久久影院午夜论| 日产精品久久久久久久性色| 91免费精品国自产拍在线不卡| 欧美大片一区二区三区| 亚洲影视在线播放| 色综合欧美在线| 国产精品网站导航| 久久er99热精品一区二区| 欧美久久久久久久久中文字幕| 亚洲欧美激情一区二区| 成人av影院在线| 亚洲国产精品av| 成人性视频网站| 久久久久青草大香线综合精品| 老司机一区二区| 日韩一区二区免费视频| 日本成人在线视频网站| 欧美日韩三级一区二区| 亚洲一二三四在线| 欧美性猛交xxxxxx富婆| 一区av在线播放| 91成人看片片| 亚洲3atv精品一区二区三区| 欧美视频完全免费看| 亚洲精品久久久久久国产精华液| 91偷拍与自偷拍精品| 亚洲日本丝袜连裤袜办公室| 91香蕉视频黄| 亚洲午夜激情av| 欧美一区二区观看视频| 日韩中文字幕91| 欧美成人a∨高清免费观看| 精品一区二区三区免费视频| 久久影院视频免费| 不卡电影一区二区三区| 亚洲欧洲日本在线| 欧美午夜不卡在线观看免费| 亚洲sss视频在线视频| 日韩一卡二卡三卡| 国产激情精品久久久第一区二区| 国产精品午夜春色av| 91丨porny丨国产| 亚洲电影欧美电影有声小说| 日韩一级黄色大片| 成人中文字幕在线| 亚洲午夜精品久久久久久久久| 欧美一区2区视频在线观看| 精品在线免费视频| 中文成人综合网| 欧美日韩免费视频| 国产综合色产在线精品| 日韩一区在线播放| 欧美伦理电影网| 国产成a人无v码亚洲福利| 亚洲精品美国一| 日韩欧美国产成人一区二区| 成人一级片在线观看| 亚洲妇熟xx妇色黄| 久久久久久久免费视频了| 色婷婷亚洲综合| 国产最新精品免费| 亚洲高清一区二区三区| 久久免费视频色| 欧美日韩成人高清| 高清在线不卡av| 丝袜a∨在线一区二区三区不卡| 国产亚洲一区二区三区在线观看 | 欧美日韩黄色一区二区| 国产自产v一区二区三区c| 亚洲精品免费播放| 精品国产成人系列| 欧美午夜精品一区| 99这里都是精品| 精品制服美女丁香| 亚洲高清中文字幕| 国产精品久久久久久久岛一牛影视 | 精品国产污网站| 欧美中文字幕一区二区三区 | 一区二区三区国产豹纹内裤在线| 日韩久久免费av| 欧美午夜一区二区三区| av中文字幕不卡| 国产一区在线观看麻豆| 日韩一区精品字幕| 一区二区三区丝袜| 国产精品天美传媒沈樵| 精品99999| 精品久久久久香蕉网| 69堂成人精品免费视频| 色综合久久中文综合久久97| 国产成人免费高清| 韩国毛片一区二区三区| 日韩精品久久久久久| 亚洲高清视频在线| 亚洲一区二区三区中文字幕在线| 国产精品乱码久久久久久| 国产亚洲精品7777| 久久色中文字幕| 久久久亚洲精品一区二区三区 | 欧美日韩一区二区在线观看视频| 91影视在线播放| 91视频观看视频| av在线不卡免费看| 91香蕉视频在线| 91免费国产在线| 在线精品国精品国产尤物884a| 色综合激情五月| 日本精品一区二区三区高清| 91福利在线导航| 欧美色涩在线第一页| 欧美天天综合网| 欧美精品少妇一区二区三区| 69精品人人人人| 日韩精品资源二区在线| 亚洲精品在线电影| 国产三级久久久| 中文字幕视频一区| 亚洲综合自拍偷拍| 亚洲成人动漫av| 久久99精品久久久久久动态图| 久久国产精品免费| 国产黑丝在线一区二区三区| www.日韩av| 欧美高清性hdvideosex| 日韩你懂的在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产精品大尺度| 亚洲欧美二区三区| 丝袜美腿亚洲一区二区图片| 韩国女主播一区| 91视频免费播放| 日韩三级精品电影久久久| 国产欧美日韩在线观看| 亚洲综合色噜噜狠狠| 久久国产福利国产秒拍| k8久久久一区二区三区| 在线观看91视频| 精品国产乱码久久久久久免费 | 中文av一区特黄| 亚洲高清免费观看高清完整版在线观看| 日韩福利电影在线观看| 国产在线播放一区三区四| 91香蕉视频黄| 精品国产免费人成在线观看| ...av二区三区久久精品| 五月天精品一区二区三区| 国产精品乡下勾搭老头1| 欧美亚洲另类激情小说| 精品粉嫩超白一线天av| 一区二区三区四区国产精品| 韩国成人福利片在线播放| 91毛片在线观看| 久久久一区二区三区捆绑**| 亚洲图片欧美视频| 福利一区在线观看| 91精品国产一区二区三区香蕉| 国产精品久久久久久久蜜臀 | 国产网站一区二区| 亚洲午夜久久久久久久久久久 | 国产一区91精品张津瑜| 91久久一区二区| 国产日产欧美精品一区二区三区| 亚洲aaa精品| 色久综合一二码| 国产精品理论在线观看| 久草中文综合在线| 欧美日韩一区高清| 综合网在线视频| 国产传媒久久文化传媒| 日韩欧美国产高清| 无码av免费一区二区三区试看| 成人午夜av电影| 久久婷婷国产综合国色天香| 日本女人一区二区三区| 欧美又粗又大又爽| 中文字幕亚洲视频| 国产不卡视频在线观看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 亚洲综合另类小说| 99久久精品国产一区| 国产欧美精品日韩区二区麻豆天美| 免费视频最近日韩| 884aa四虎影成人精品一区| 亚洲国产中文字幕| 欧美午夜免费电影| 一区二区三区四区国产精品| 色婷婷久久综合| 亚洲女性喷水在线观看一区| 91蜜桃在线免费视频| 亚洲日本青草视频在线怡红院| 99久久精品国产导航| 国产精品网曝门| 色综合天天综合网国产成人综合天 | 丝袜a∨在线一区二区三区不卡| 欧美性xxxxxx少妇|