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

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

?? imgscrollpane.java

?? jpeg2000算法實現
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/*  * CVS identifier: *  * $Id: ImgScrollPane.java,v 1.10 2000/12/04 17:19:27 grosbois Exp $ *  * Class:                   ImgScrollPane *  * Description:             <short description of class> *  *  *  * COPYRIGHT: *  * This software module was originally developed by Rapha雔 Grosbois and * Diego Santa Cruz (Swiss Federal Institute of Technology-EPFL); Joel * Askel鰂 (Ericsson Radio Systems AB); and Bertrand Berthelot, David * Bouchard, F閘ix Henry, Gerard Mozelle and Patrice Onno (Canon Research * Centre France S.A) in the course of development of the JPEG2000 * standard as specified by ISO/IEC 15444 (JPEG 2000 Standard). This * software module is an implementation of a part of the JPEG 2000 * Standard. Swiss Federal Institute of Technology-EPFL, Ericsson Radio * Systems AB and Canon Research Centre France S.A (collectively JJ2000 * Partners) agree not to assert against ISO/IEC and users of the JPEG * 2000 Standard (Users) any of their rights under the copyright, not * including other intellectual property rights, for this software module * with respect to the usage by ISO/IEC and Users of this software module * or modifications thereof for use in hardware or software products * claiming conformance to the JPEG 2000 Standard. Those intending to use * this software module in hardware or software products are advised that * their use may infringe existing patents. The original developers of * this software module, JJ2000 Partners and ISO/IEC assume no liability * for use of this software module or modifications thereof. No license * or right to this software module is granted for non JPEG 2000 Standard * conforming products. JJ2000 Partners have full right to use this * software module for his/her own purpose, assign or donate this * software module to any third party and to inhibit third parties from * using this software module for non JPEG 2000 Standard conforming * products. This copyright notice must be included in all copies or * derivative works of this software module. *  * Copyright (c) 1999/2000 JJ2000 Partners. * */package jj2000.disp;import java.awt.event.*;import java.awt.image.*;import java.awt.*;/** * This class implements an image viewer that can display an image larger than * the actual display area, and presents scrollbars to scroll the viewable * area. This class also supports zooming in and out the image, with no extra * memory requirements. * * <P>The zoom factor by default is 1. It can be changed with the 'zoom()' and * 'setZoom()' methods. The maximum zoom factor is defined by MAX_ZOOM. * * <P>The zoom scaling is done directly by the AWT display system. In general * it is performed by dropping or repeating lines. It is just intended to * provide a display zoom and not for proper scaling of an image. * * <P>The scrolling can be performed by copying the actual displayed data to * the new scrolled position and redrawing the damaged parts, or by redrawing * the entire displayed image portion at the new scrolled position. Which is * more efficient depends on the JVM and working environment. By default it is * done by copying since it tends to provide less annoying visual artifacts * while scrolling, but that can be changed with 'setCopyScroll()'. * * <P>This class is very similar to the AWT ScrollPane one, but it is * optimized for display of large images and does not suffer from the problems * of ScrollPane when changing zoom. The Adjustable elements that represent * the scrollbars are made available as in ScrollPane, but the minimum, * maximum, visible amount and block increment should not be set * (IllegalArgumentException is thrown if attempted), since they are set * internally by this class. * * <P>Focus and key event listeners that are registered are in fact registered * with the components that implement the three areas (the image display and * the two scrollbars) so that if any such event is fired in any of these * areas it is handled by the registered listener. * * <P>Mouse and mouse movement event listeners that are registered are in fact  * registered with the image display component only. The mouse and mouse * movement events on the scrollbars are handled by the Scrollbar default * listeners only. * * <P>Although it is implemented as a container, it behaves like a * component. Specifically no components can be added or removed from objects * of this class. Furthermore, no layout manager can be set. It is internally * set and it can not be changed. * * <P>The implementation uses a lightweight container with an inner class to * display the image itself, and two scrollbars. The layout manager is a * BorderLayout. * * <P>This class should be really implemented as a Component, but it is * implemented as a Container for easyness. It should not be assumed it is a * subclass of Container since in the future it might be rewritten as a * subclass of Component only. * * * @see ScrollPane * * @see Adjustable * */public class ImgScrollPane extends Container {    /** The ID for always visible scrollbars */    public final static int SCROLLBARS_ALWAYS = ScrollPane.SCROLLBARS_ALWAYS;    /** The ID for as needed visible scrollbars */    public final static int SCROLLBARS_AS_NEEDED =        ScrollPane.SCROLLBARS_AS_NEEDED;    /** The ID for never visible scrollbars */    public final static int SCROLLBARS_NEVER = ScrollPane.SCROLLBARS_NEVER;    /** The maximum possible zoom factor: 32. */    // This is used because factors too large cause problems with JVMs.    public static final float MAX_ZOOM = 32f;    /** The thickness of the scrollbars: 16 pixels */    final static int SCROLLBAR_THICKNESS = 16;    /** The inetrnal gap between the elements, in pixels: 0 */    final static int INTERNAL_GAP = 0;    /** The propertion between the visible scrollbar length and the block     * increment amount: 0.8 */    final static float BLOCK_INCREMENT_PROPORTION = 0.8f;    /** The horizontal scrollbar.     *     * @serial     */    ISPScrollbar hsbar;    /** The vertical scrollabr.     *     * @serial     */    ISPScrollbar vsbar;    /** The image display     *     * @serial     */    private ImageScrollDisplay imgDisplay;    /** The scrollbar type (always, as needed, etc.)      *     * @serial     */    private int sbType;    /** The zoom to use in displaying the image. A factor larger than one     * produces a zoom in effect.      *     * @serial     */    private float zoom = 1f;    /** The zoom used in the last scrollbar calculation.     *     * @serial     */    private float lastZoom;    /** The viewable size used in the last scrollbar calculation.     *     * @serial     */    private Dimension lastSize;    /** If scrolling is to be done by copying ot not. If not done by copying     * everything is redrawn.      *     * @serial*/    private boolean copyScroll = true;    /**     * Creates a new ImgScrollPane with SCROLLBARS_AS_NEEDED scrollbars.     * */    public ImgScrollPane() {        this(SCROLLBARS_AS_NEEDED);    }    /**     * Creates a new ImgScrollPane with the specified type of scrollbar     * visibility.     *     * @param svt The scrollbar visibility type     * */    public ImgScrollPane(int svt) {        // Initialize        super.setLayout(new BorderLayout(INTERNAL_GAP,INTERNAL_GAP));        sbType = svt;        hsbar = new ISPScrollbar(Scrollbar.HORIZONTAL,0,1,0,1);        vsbar = new ISPScrollbar(Scrollbar.VERTICAL,0,1,0,1);        imgDisplay = new ImageScrollDisplay();        super.add(hsbar,BorderLayout.SOUTH);        super.add(vsbar,BorderLayout.EAST);        super.add(imgDisplay,BorderLayout.CENTER);        // Set the initial scrollbar visibility        switch (svt) {        case SCROLLBARS_NEVER:        case SCROLLBARS_AS_NEEDED:            hsbar.setVisible(false);            vsbar.setVisible(false);            break;        case SCROLLBARS_ALWAYS:            hsbar.setVisible(true);            vsbar.setVisible(true);            break;        default:            throw new IllegalArgumentException();        }    }    /**     * Sets the image to display in this component. If the image is not     * ready for display it will be prepared in the current thread. The     * current zoom factor applies.     *     * <P>If the image is not ready for display (i.e. it has not been     * rendered at its natural size) it will be rendered in the current     * thread, if not being already rendered in another one. This means     * that the current thread can block until the image is ready.     *     * <P>If the image is rendered incrementally (it depends on the     * underlying 'ImageProducer') it will be displayed in that way if the     * incremental display is set for the Component class. See the     * 'imageUpdate()' method of the 'Component' class.     *     * <P>If the image is the same as the current one nothing is done.     *     * @param img The image to display.     *     * @see Component#imageUpdate     * */    public void setImage(Image img) {        imgDisplay.setImage(img);    }    /**     * Returns the image that is displayed in this component.     *     * @return The image displayed in this component, or null if none.     * */    public synchronized Image getImage() {        return imgDisplay.img;    }    /**     * Sets the zoom factor to display the image. A zoom factor larger than 1     * corresponds to a zoom in. A factor of 1 corresponds to no     * scaling. After setting the zoom factor the component is invalidated and     * 'repaint()' is automatically called so that the image is redrawn at the     * new zoom factor. In order to revalidate the layout 'validate()' should     * be called on one of the parent containers. If the new zoom factor is     * larger than MAX_ZOOM, then MAX_ZOOM will be used.     *     * @param zf The zoom factor     * */    public synchronized void setZoom(float zf) {        if (zf == zoom || (zf > MAX_ZOOM && zoom == MAX_ZOOM)) {            // No change => do nothing            return;        }        // Set the zoom factor and recalculate the component dimensions        zoom = zf;        if (zoom > MAX_ZOOM) zoom = MAX_ZOOM;        setScrollbars();        // Check if we need to change the scrollbar display        if (sbType == SCROLLBARS_AS_NEEDED) doLayout();        // We need to erase previous scaled image        imgDisplay.erase = true;        // Redraw image        imgDisplay.repaint();    }    /**     * Modifies the current zoom factor by the given multiplier. After setting     * the zoom factor the component is invalidated and 'repaint()' is     * automatically called so that the image is redrawn at the new zoom     * factor. In order to revalidate the layout 'validate()' should be called     * on one of the parent containers. If the resulting zoom factor is larger     * than MAX_ZOOM, then MAX_ZOOM will be used.     *     * @param zm The zoom multiplier to apply.     * */    public synchronized void zoom(float zm) {        setZoom(zoom*zm);    }    /**     * Returns the current zoom factor.     *     * @return The current zoom factor     * */    public synchronized float getZoom() {        return zoom;    }    /**     * Returns the Adjustable object which represents the state of the     * horizontal scrollbar.     * */    public Adjustable getHAdjustable() {        return hsbar;    }    /**     * Returns the Adjustable object which represents the state of the     * vertical scrollbar.     * */    public Adjustable getVAdjustable() {        return vsbar;    }    /**     * Returns the display policy for the scrollbars.     *     * @return the display policy for the scrollbars     * */    public int getScrollbarDisplayPolicy() {        return sbType;    }    /**     * Sets the display policy for the scrollbars.     *     * @param v the display policy for the scrollbars     * */    public void setScrollbarDisplayPolicy(int v) {        // If no change do nothing        if (v == sbType) return;        switch (sbType) {        case SCROLLBARS_NEVER:        case SCROLLBARS_AS_NEEDED:            hsbar.setVisible(false);            vsbar.setVisible(false);            break;        case SCROLLBARS_ALWAYS:            hsbar.setVisible(true);            vsbar.setVisible(true);            break;        default:            throw new IllegalArgumentException();        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合久久久久久久久久久久| 一区二区三区在线视频观看| 一本色道久久综合亚洲91| 午夜久久久久久久久久一区二区| 中文字幕一区二区三区在线播放 | 亚洲视频一区二区在线| 精品日本一线二线三线不卡| 欧美日韩一区在线| 日本高清不卡视频| 色婷婷国产精品| 色综合久久综合网| 91麻豆国产福利精品| 国产99精品国产| 国产v日产∨综合v精品视频| 国产传媒一区在线| 国产精品123区| 成人免费高清视频在线观看| 成人午夜激情片| 成人精品在线视频观看| 成人av资源在线观看| 成人动漫一区二区三区| 国产精品一级在线| 成人黄色777网| 99re这里只有精品视频首页| 91免费国产在线观看| 一本久久a久久精品亚洲| 色先锋资源久久综合| 91成人免费电影| 欧美日韩1区2区| 欧美成人a视频| 久久久久久久久久看片| 国产精品成人一区二区三区夜夜夜| 国产精品国模大尺度视频| 亚洲精品视频免费看| 一区二区三区视频在线看| 五月天一区二区三区| 另类欧美日韩国产在线| 福利91精品一区二区三区| 91网站最新地址| 欧美一区欧美二区| 国产午夜精品一区二区三区视频 | 成人午夜又粗又硬又大| 成人aaaa免费全部观看| 在线观看91视频| 91精品欧美久久久久久动漫| 久久日韩精品一区二区五区| 国产精品妹子av| 日本v片在线高清不卡在线观看| 韩国成人福利片在线播放| av不卡一区二区三区| 日韩一区二区三区在线观看| 中文字幕av资源一区| 午夜久久久影院| 不卡视频在线观看| 日韩欧美专区在线| 亚洲欧美另类小说视频| 久久超碰97人人做人人爱| 99精品偷自拍| 久久久国产一区二区三区四区小说| 一区二区高清免费观看影视大全 | 亚洲一区二区在线视频| 久久99国产精品免费| 99久久精品一区| 精品日产卡一卡二卡麻豆| 亚洲国产精品尤物yw在线观看| 国产激情91久久精品导航| 欧美精品1区2区| 亚洲视频1区2区| 国产一区二区三区蝌蚪| 欧美日韩精品一区视频| 国产精品第一页第二页第三页 | 亚洲精品国产视频| 91丝袜美女网| 久久精品网站免费观看| 亚洲国产欧美一区二区三区丁香婷| 国产精品综合av一区二区国产馆| 精品视频在线视频| 亚洲日本一区二区| 懂色av一区二区三区蜜臀| 日韩一区二区在线免费观看| 亚洲mv大片欧洲mv大片精品| 国产成人aaaa| 久久色.com| 国产美女精品人人做人人爽| 日韩精品一区二区三区蜜臀| 婷婷六月综合亚洲| 欧美日韩国产高清一区二区 | 26uuu色噜噜精品一区| 亚洲五码中文字幕| 欧美这里有精品| 伊人色综合久久天天人手人婷| 成人网在线免费视频| 国产日韩欧美高清| 国产盗摄一区二区| 欧美国产精品中文字幕| 丁香桃色午夜亚洲一区二区三区| 欧美成人一区二区| 国产精品中文字幕日韩精品 | 亚洲欧美一区二区三区国产精品| 粉嫩欧美一区二区三区高清影视| 欧美精品一区二区久久婷婷| 精品一区二区三区在线观看 | 国产精品久久久久久久久免费丝袜 | 国产suv精品一区二区三区| 精品国产乱码久久久久久浪潮| 欧美aaaaaa午夜精品| 欧美成人乱码一区二区三区| 久久精品国产亚洲一区二区三区 | 国产三区在线成人av| 高清beeg欧美| 亚洲天堂a在线| 欧美亚一区二区| 视频一区在线播放| 精品国产乱码久久久久久闺蜜| 国产最新精品免费| 中文字幕在线不卡视频| 91免费在线视频观看| 日本不卡视频在线观看| 久久丝袜美腿综合| 色综合久久综合网欧美综合网 | 欧美卡1卡2卡| 精品一区二区三区在线观看 | 99久精品国产| 视频一区二区三区入口| 欧美电影免费观看完整版| 国产麻豆成人精品| 亚洲激情男女视频| 欧美大黄免费观看| 91视频在线看| 蜜臀va亚洲va欧美va天堂| 欧美国产一区二区在线观看| 在线视频一区二区免费| 久久电影网电视剧免费观看| 亚洲色图制服诱惑| 精品美女在线播放| 91丨porny丨最新| 国内外精品视频| 亚洲一级二级三级在线免费观看| 欧美成人一区二区| 色狠狠一区二区| 国产精品系列在线观看| 亚洲第一成人在线| 中文字幕亚洲精品在线观看| 日韩欧美美女一区二区三区| 91在线视频免费观看| 久久电影网站中文字幕| 亚洲电影一级黄| 国产精品久久一级| 欧美成人a∨高清免费观看| 在线看一区二区| 成人激情午夜影院| 久久精品国产99国产精品| 国产一区二区三区日韩| 亚洲福利一二三区| 自拍偷在线精品自拍偷无码专区| 精品精品国产高清a毛片牛牛| 在线视频你懂得一区| 成人激情校园春色| 国产一区二区在线电影| 日产国产欧美视频一区精品| 亚洲免费在线视频| 国产精品美女www爽爽爽| 欧美成人r级一区二区三区| 欧美美女bb生活片| 在线观看亚洲a| 91视频.com| av不卡免费电影| 成人aa视频在线观看| 国产成人亚洲综合色影视| 看国产成人h片视频| 日本aⅴ亚洲精品中文乱码| 亚洲线精品一区二区三区八戒| 国产蜜臀av在线一区二区三区| 精品国产伦一区二区三区免费| 91精品国产高清一区二区三区 | 亚洲精品在线一区二区| 91麻豆精品91久久久久同性| 欧美亚洲国产一区在线观看网站| 一本大道久久a久久综合婷婷| 国产激情一区二区三区四区| 狠狠色2019综合网| 国产毛片精品视频| 国产成人在线视频免费播放| 成人午夜在线视频| 色综合久久久久综合体桃花网| 91在线视频免费观看| 色香蕉成人二区免费| 色偷偷成人一区二区三区91| 色八戒一区二区三区| 播五月开心婷婷综合| 99精品久久久久久| 欧美午夜电影在线播放| 欧美日韩国产在线观看| 欧美一区二区精品在线| 精品盗摄一区二区三区| 欧美激情综合在线| 亚洲欧美电影一区二区| 亚洲高清三级视频| 91首页免费视频| 欧美日韩亚州综合|