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

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

?? dithertest.java

?? 一個小公司要求給寫的很簡單的任務管理系統。
?? JAVA
字號:
/* * @(#)DitherTest.java	1.17 06/02/22 *  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: *  * -Redistribution of source code must retain the above copyright notice, this *  list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduce the above copyright notice,  *  this list of conditions and the following disclaimer in the documentation *  and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors may  * be used to endorse or promote products derived from this software without  * specific prior written permission. *  * This software is provided "AS IS," without a warranty of any kind. ALL  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST  * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY  * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility. *//* * @(#)DitherTest.java	1.17 06/02/22 */import java.applet.Applet;import java.awt.event.*;import java.awt.*;import java.awt.image.ColorModel;import java.awt.image.MemoryImageSource;public class DitherTest extends Applet implements Runnable {    final private static int NOOP = 0;    final private static int RED = 1;    final private static int GREEN = 2;    final private static int BLUE = 3;    final private static int ALPHA = 4;    final private static int SATURATION = 5;    private Thread runner;    private DitherControls XControls;    private DitherControls YControls;    private DitherCanvas canvas;    public static void main(String args[]) {        Frame f = new Frame("DitherTest");        DitherTest ditherTest = new DitherTest();        ditherTest.init();        f.add("Center", ditherTest);        f.pack();        f.setVisible(true);        ditherTest.start();    }    public void init() {        String xspec = null, yspec = null;        int xvals[] = new int[2];        int yvals[] = new int[2];                try {            xspec = getParameter("xaxis");            yspec = getParameter("yaxis");        } catch (NullPointerException npe) {            //only occurs if run as application        }                if (xspec == null) {            xspec = "red";        }        if (yspec == null) {            yspec = "blue";        }        int xmethod = colormethod(xspec, xvals);        int ymethod = colormethod(yspec, yvals);        setLayout(new BorderLayout());        XControls = new DitherControls(this, xvals[0], xvals[1],                                       xmethod, false);        YControls = new DitherControls(this, yvals[0], yvals[1],                                       ymethod, true);        YControls.addRenderButton();        add("North", XControls);        add("South", YControls);        add("Center", canvas = new DitherCanvas());    }    private int colormethod(String s, int vals[]) {        int method = NOOP;        if (s == null) {            s = "";        }        String lower = s.toLowerCase();        int len = 0;        if (lower.startsWith("red")) {            method = RED;            lower = lower.substring(3);        } else if (lower.startsWith("green")) {            method = GREEN;            lower = lower.substring(5);        } else if (lower.startsWith("blue")) {            method = BLUE;            lower = lower.substring(4);        } else if (lower.startsWith("alpha")) {            method = ALPHA;            lower = lower.substring(5);        } else if (lower.startsWith("saturation")) {            method = SATURATION;            lower = lower.substring(10);        }        if (method == NOOP) {            vals[0] = 0;            vals[1] = 0;            return method;        }        int begval = 0;        int endval = 255;        try {            int dash = lower.indexOf('-');            if (dash < 0) {                endval = Integer.parseInt(lower);            } else {                begval = Integer.parseInt(lower.substring(0, dash));                endval = Integer.parseInt(lower.substring(dash + 1));            }        } catch (NumberFormatException nfe) {        }        if (begval < 0) {            begval = 0;        } else if (begval > 255) {            begval = 255;        }                if (endval < 0) {            endval = 0;        } else if (endval > 255) {            endval = 255;        }        vals[0] = begval;        vals[1] = endval;        return method;    }    /**     * Calculates and returns the image.  Halts the calculation and returns     * null if the Applet is stopped during the calculation.     */    private Image calculateImage() {        Thread me = Thread.currentThread();                int width = canvas.getSize().width;        int height = canvas.getSize().height;        int xvals[] = new int[2];        int yvals[] = new int[2];        int xmethod = XControls.getParams(xvals);        int ymethod = YControls.getParams(yvals);        int pixels[] = new int[width * height];        int c[] = new int[4];   //temporarily holds R,G,B,A information        int index = 0;        for (int j = 0; j < height; j++) {            for (int i = 0; i < width; i++) {                c[0] = c[1] = c[2] = 0;                c[3] = 255;                if (xmethod < ymethod) {                    applymethod(c, xmethod, i, width, xvals);                    applymethod(c, ymethod, j, height, yvals);                } else {                    applymethod(c, ymethod, j, height, yvals);                    applymethod(c, xmethod, i, width, xvals);                }                pixels[index++] = ((c[3] << 24) |                                   (c[0] << 16) |                                   (c[1] << 8) |                                   c[2]);            }            // Poll once per row to see if we've been told to stop.            if (runner != me) {                return null;            }        }        return createImage(new MemoryImageSource(width, height,                            ColorModel.getRGBdefault(), pixels, 0, width));    }    private void applymethod(int c[], int method, int step,                              int total, int vals[]) {        if (method == NOOP) {            return;        }        int val = ((total < 2)                   ? vals[0]                   : vals[0] + ((vals[1] - vals[0]) * step / (total - 1)));        switch (method) {        case RED:            c[0] = val;            break;        case GREEN:            c[1] = val;            break;        case BLUE:            c[2] = val;            break;        case ALPHA:            c[3] = val;            break;        case SATURATION:            int max = Math.max(Math.max(c[0], c[1]), c[2]);            int min = max * (255 - val) / 255;            if (c[0] == 0) {                c[0] = min;            }            if (c[1] == 0) {                c[1] = min;            }            if (c[2] == 0) {                c[2] = min;            }            break;        }    }    public void start() {        runner = new Thread(this);        runner.start();    }    public void run() {        canvas.setImage(null);  // Wipe previous image        Image img = calculateImage();        if (img != null && runner == Thread.currentThread()) {            canvas.setImage(img);        }    }    public void stop() {        runner = null;    }    public void destroy() {        remove(XControls);        remove(YControls);        remove(canvas);    }    public String getAppletInfo() {        return "An interactive demonstration of dithering.";    }    public String[][] getParameterInfo() {        String[][] info = {            {"xaxis", "{RED, GREEN, BLUE, ALPHA, SATURATION}",             "The color of the Y axis.  Default is RED."},            {"yaxis", "{RED, GREEN, BLUE, ALPHA, SATURATION}",              "The color of the X axis.  Default is BLUE."}        };        return info;    }}class DitherCanvas extends Canvas {    private Image img;    private static String calcString = "Calculating...";    public void paint(Graphics g) {        int w = getSize().width;        int h = getSize().height;        if (img == null) {            super.paint(g);            g.setColor(Color.black);            FontMetrics fm = g.getFontMetrics();            int x = (w - fm.stringWidth(calcString)) / 2;            int y = h / 2;            g.drawString(calcString, x, y);        } else {            g.drawImage(img, 0, 0, w, h, this);        }    }    public void update(Graphics g) {        paint(g);    }    public Dimension getMinimumSize() {        return new Dimension(20, 20);    }    public Dimension getPreferredSize() {        return new Dimension(200, 200);    }    public Image getImage() {        return img;    }    public void setImage(Image img) {        this.img = img;        repaint();    }}class DitherControls extends Panel implements ActionListener {    private CardinalTextField start;    private CardinalTextField end;    private Button button;    private Choice choice;    private DitherTest applet;    private static LayoutManager dcLayout = new FlowLayout(FlowLayout.CENTER,                                                           10, 5);    public DitherControls(DitherTest app, int s, int e, int type,                          boolean vertical) {        applet = app;        setLayout(dcLayout);        add(new Label(vertical ? "Vertical" : "Horizontal"));        add(choice = new Choice());        choice.addItem("Noop");        choice.addItem("Red");        choice.addItem("Green");        choice.addItem("Blue");        choice.addItem("Alpha");        choice.addItem("Saturation");        choice.select(type);        add(start = new CardinalTextField(Integer.toString(s), 4));        add(end = new CardinalTextField(Integer.toString(e), 4));    }    /* puts on the button */    public void addRenderButton() {        add(button = new Button("New Image"));        button.addActionListener(this);    }    /* retrieves data from the user input fields */    public int getParams(int vals[]) {        try {            vals[0] = scale(Integer.parseInt(start.getText()));        } catch (NumberFormatException nfe) {            vals[0] = 0;        }        try {            vals[1] = scale(Integer.parseInt(end.getText()));        } catch (NumberFormatException nfe) {            vals[1] = 255;        }        return choice.getSelectedIndex();    }        /* fits the number between 0 and 255 inclusive */    private int scale(int number) {        if (number < 0) {            number = 0;        } else if (number > 255) {            number = 255;        }        return number;    }    /* called when user clicks the button */    public void actionPerformed(ActionEvent e) {        if (e.getSource() == button) {            applet.start();        }    }}class CardinalTextField extends TextField {    String oldText = null;    public CardinalTextField(String text, int columns) {         super(text, columns);        enableEvents(AWTEvent.KEY_EVENT_MASK | AWTEvent.TEXT_EVENT_MASK);        oldText = getText();    }    // Consume non-digit KeyTyped events    // Note that processTextEvent kind of eliminates the need for this     // function, but this is neater, since ideally, it would prevent     // the text from appearing at all.  Sigh.  See bugid 4100317/4114565.     //    protected void processEvent(AWTEvent evt) {        int id = evt.getID();        if (id != KeyEvent.KEY_TYPED) {            super.processEvent(evt);            return;        }        KeyEvent kevt = (KeyEvent) evt;        char c = kevt.getKeyChar();        // Digits, backspace, and delete are okay         // Note that the minus sign is not allowed (neither is decimal)        if (Character.isDigit(c) || (c == '\b') || (c == '\u007f')) {            super.processEvent(evt);            return;        }        Toolkit.getDefaultToolkit().beep();        kevt.consume();    }    // Should consume TextEvents for non-integer Strings    // Store away the text in the tf for every TextEvent    // so we can revert to it on a TextEvent (paste, or     // legal key in the wrong location) with bad text    //    // Note: it would be easy to extend this to an eight-bit     // TextField (range 0-255), but I'll leave it as-is.      //    protected void processTextEvent(TextEvent te) {         // The empty string is okay, too         String newText = getText();        if (newText.equals("") || textIsCardinal(newText)) {            oldText = newText;            super.processTextEvent(te);            return;        }        Toolkit.getDefaultToolkit().beep();        setText(oldText);    }    // Returns true for Cardinal (non-negative) numbers    // Note that the empty string is not allowed    private boolean textIsCardinal(String textToCheck) {        int value = -1;        try {             value = Integer.parseInt(textToCheck, 10);             return (value >= 0);        } catch (NumberFormatException nfe) {             return false;         }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕综合网| 精品一区二区三区视频在线观看| 国产成人精品影视| 日韩欧美一级二级三级| 日韩电影免费在线| 在线精品视频免费播放| 亚洲久草在线视频| 91行情网站电视在线观看高清版| 一区二区三区小说| 欧美精品一二三| 免播放器亚洲一区| 欧美一区二区福利在线| 亚洲777理论| 欧美精品一区二区三区蜜臀| 国产一区二区三区综合| 国产女人aaa级久久久级| 一本到不卡免费一区二区| 亚洲激情综合网| 精品污污网站免费看| 久久激情五月激情| 国产亚洲人成网站| 成人avav影音| 综合久久久久综合| 日韩欧美国产电影| 国产成人精品亚洲777人妖 | 日韩精品高清不卡| 欧美大尺度电影在线| 91香蕉视频mp4| 亚洲欧美另类久久久精品| 欧美丰满嫩嫩电影| 国产成人在线免费观看| 自拍偷拍亚洲激情| 精品国产乱码久久久久久蜜臀| 成人性生交大片免费| 中文字幕字幕中文在线中不卡视频| 制服丝袜在线91| 国产精品77777竹菊影视小说| 国产精品久久久久久久午夜片| 国产成人精品三级| 亚洲一区二区综合| 久久婷婷成人综合色| 99re这里只有精品首页| 久久99精品久久久| 最新久久zyz资源站| 2019国产精品| 久久久久国色av免费看影院| 国产日韩欧美激情| 在线观看国产91| 国产精品白丝jk黑袜喷水| 日韩美女视频19| 日韩视频在线你懂得| www.日韩在线| 国产精品一区二区三区网站| 一区二区三区四区av| 久久这里只有精品6| 99久久综合99久久综合网站| 蜜臀av性久久久久av蜜臀妖精| 国产精品国产自产拍高清av王其 | 亚洲人快播电影网| 久久久噜噜噜久久人人看| 在线欧美一区二区| 国产精品一区2区| 一区二区三区免费看视频| 国产欧美日韩不卡免费| 欧美一区国产二区| 欧美亚洲愉拍一区二区| 一本一道综合狠狠老| 国产v综合v亚洲欧| 免费一级欧美片在线观看| 一区二区三区四区国产精品| 国产精品人成在线观看免费| 欧美成人一区二区| 99re在线视频这里只有精品| av网站一区二区三区| 韩国精品在线观看| 秋霞电影一区二区| 午夜欧美视频在线观看| 一区二区三区中文免费| 亚洲欧美国产高清| 亚洲人一二三区| 亚洲欧美综合另类在线卡通| 久久久久久久综合| 欧美韩国一区二区| 久久精品欧美一区二区三区麻豆| 777色狠狠一区二区三区| 中文字幕va一区二区三区| 精品国免费一区二区三区| 欧美精品久久天天躁| 日韩一区二区三区电影在线观看| 欧美日韩精品免费观看视频| 91国偷自产一区二区三区成为亚洲经典| 国产伦精一区二区三区| 成人深夜视频在线观看| 国产成a人无v码亚洲福利| 成人一区二区三区视频在线观看| 国产电影精品久久禁18| 国产高清在线精品| 成人夜色视频网站在线观看| 成人午夜激情片| 99国产精品99久久久久久| 在线观看日韩精品| 欧美伦理影视网| 日韩欧美一区二区在线视频| 久久精品日韩一区二区三区| 国产精品水嫩水嫩| ...中文天堂在线一区| 亚洲综合色网站| 视频一区视频二区中文| 久久99久久久久| 国产精品18久久久久久久久| 成人黄色大片在线观看| 色欧美乱欧美15图片| 成人免费黄色大片| 欧美在线观看一二区| 日韩一区二区三区视频在线观看| 欧美亚洲综合另类| 久久久久青草大香线综合精品| 久久精品水蜜桃av综合天堂| 成人天堂资源www在线| 亚洲地区一二三色| 一区二区三区日韩在线观看| 亚洲色图都市小说| 婷婷国产在线综合| 九色综合狠狠综合久久| 成人禁用看黄a在线| 在线观看视频欧美| 久久久久国产精品麻豆| 国产精品乱码久久久久久| 中文字幕精品一区二区精品绿巨人| 亚洲精品免费视频| 日日夜夜免费精品视频| 国产成人免费在线| 日韩一区二区在线看| 国产精品女主播av| 日日噜噜夜夜狠狠视频欧美人| 99久久99久久综合| 欧美日本视频在线| 欧美国产成人在线| 黄网站免费久久| 欧美视频一二三区| 国产偷国产偷亚洲高清人白洁| 奇米亚洲午夜久久精品| proumb性欧美在线观看| 欧美一区午夜精品| 午夜婷婷国产麻豆精品| 国产成a人亚洲精品| 欧美日韩国产三级| 亚洲视频免费在线| 免费观看91视频大全| 99久久婷婷国产精品综合| 精品播放一区二区| 亚洲国产日韩a在线播放性色| 六月丁香婷婷色狠狠久久| 欧美人伦禁忌dvd放荡欲情| 欧美国产一区视频在线观看| 懂色av噜噜一区二区三区av| 日韩欧美电影一区| 亚洲在线观看免费| 色综合久久久久久久久久久| www国产成人| 久久国产尿小便嘘嘘| 欧美亚洲国产一区在线观看网站| 国产精品五月天| 久久99精品久久久久久国产越南| 欧洲一区二区三区在线| 日本一区二区三级电影在线观看| 国产成人免费视频网站| 亚洲第四色夜色| 欧美日韩精品一区二区| 奇米亚洲午夜久久精品| 欧美精品一区二区三区久久久 | 精品国产人成亚洲区| 麻豆久久久久久| 久久久综合视频| 91视视频在线观看入口直接观看www | 91色视频在线| 一本色道**综合亚洲精品蜜桃冫| 麻豆精品国产91久久久久久| 日本美女一区二区三区视频| 激情文学综合丁香| av亚洲精华国产精华精华| 日本高清无吗v一区| 91精品国产高清一区二区三区 | 国产一本一道久久香蕉| 欧美三级中文字幕在线观看| 视频一区欧美精品| 欧美一区二区黄| 国产一二三精品| 亚洲日本在线观看| 欧美乱妇一区二区三区不卡视频| 美美哒免费高清在线观看视频一区二区| 精品国产a毛片| 972aa.com艺术欧美| 亚洲高清不卡在线| 国产性色一区二区| 色综合 综合色| 免费成人你懂的| 欧美激情在线免费观看| 欧美亚洲国产怡红院影院| 精品一区二区三区av|