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

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

?? imageops.java

?? 功能強大的繪圖演示程序
?? JAVA
字號:
/* * @(#)ImageOps.java	1.32 04/07/26 *  * Copyright (c) 2004 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 MIDROSYSTEMS, 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. *//* * @(#)ImageOps.java	1.29 03/01/23 */package java2d.demos.Images;import java.awt.*;import java.awt.image.*;import java.awt.event.*;import java.awt.geom.AffineTransform;import javax.swing.*;import javax.swing.event.*;import java2d.ControlsSurface;import java2d.CustomControls;/** * Images drawn using operators such as ConvolveOp LowPass & Sharpen, * LookupOp and RescaleOp. */public class ImageOps extends ControlsSurface implements ChangeListener {    protected JSlider slider1, slider2;    private static String imgName[] = { "bld.jpg", "boat.png" };    private static BufferedImage img[] = new BufferedImage[imgName.length];    private static String opsName[] = {               "Threshold", "RescaleOp" ,"Invert", "Yellow Invert", "3x3 Blur",               "3x3 Sharpen", "3x3 Edge", "5x5 Edge"};    private static BufferedImageOp biop[] = new BufferedImageOp[opsName.length];    private static int rescaleFactor = 128;    private static float rescaleOffset = 0;    private static int low = 100, high = 200;    private int opsIndex, imgIndex;     static {        thresholdOp(low, high);        int i = 1;        biop[i++] = new RescaleOp(1.0f, 0, null);        byte invert[] = new byte[256];        byte ordered[] = new byte[256];        for (int j = 0; j < 256 ; j++) {            invert[j] = (byte) (256-j);            ordered[j] = (byte) j;        }        biop[i++] = new LookupOp(new ByteLookupTable(0,invert), null);        byte[][] yellowInvert = new byte[][] { invert, invert, ordered };        biop[i++] = new LookupOp(new ByteLookupTable(0,yellowInvert), null);        int dim[][] = {{3,3}, {3,3}, {3,3}, {5,5}};        float data[][] = { {0.1f, 0.1f, 0.1f,              // 3x3 blur                            0.1f, 0.2f, 0.1f,                            0.1f, 0.1f, 0.1f},                           {-1.0f, -1.0f, -1.0f,           // 3x3 sharpen                            -1.0f, 9.0f, -1.0f,                            -1.0f, -1.0f, -1.0f},                           { 0.f, -1.f,  0.f,                  // 3x3 edge                            -1.f,  5.f, -1.f,                             0.f, -1.f,  0.f},                           {-1.0f, -1.0f, -1.0f, -1.0f, -1.0f,  // 5x5 edge                            -1.0f, -1.0f, -1.0f, -1.0f, -1.0f,                            -1.0f, -1.0f, 24.0f, -1.0f, -1.0f,                            -1.0f, -1.0f, -1.0f, -1.0f, -1.0f,                            -1.0f, -1.0f, -1.0f, -1.0f, -1.0f}};        for (int j = 0; j < data.length; j++, i++) {            biop[i] = new ConvolveOp(new Kernel(dim[j][0],dim[j][1],data[j]));        }    }    public ImageOps() {        setBackground(Color.white);        for (int i = 0; i < imgName.length; i++) {            Image image = getImage(imgName[i]);            int iw = image.getWidth(this);            int ih = image.getHeight(this);            img[i] = new BufferedImage(iw, ih, BufferedImage.TYPE_INT_RGB);            img[i].createGraphics().drawImage(image,0,0,null);        }        slider1 = new JSlider(JSlider.VERTICAL, 0, 255, low);        slider1.setPreferredSize(new Dimension(15, 100));        slider1.addChangeListener(this);        slider2 = new JSlider(JSlider.VERTICAL, 0, 255, high);        slider2.setPreferredSize(new Dimension(15, 100));        slider2.addChangeListener(this);        setControls(new Component[]{new DemoControls(this),slider1,slider2});        setConstraints(new String[] {             BorderLayout.NORTH, BorderLayout.WEST, BorderLayout.EAST });    }    public static void thresholdOp(int low, int high) {        byte threshold[] = new byte[256];        for (int j = 0; j < 256 ; j++) {            if (j > high) {                threshold[j] = (byte) 255;            } else if (j < low) {                threshold[j] = (byte) 0;            } else {                threshold[j] = (byte) j;            }        }        biop[0] = new LookupOp(new ByteLookupTable(0,threshold), null);    }    public void render(int w, int h, Graphics2D g2) {        int iw = img[imgIndex].getWidth(null);        int ih = img[imgIndex].getHeight(null);        BufferedImage bi = new BufferedImage(iw,ih,BufferedImage.TYPE_INT_RGB);        biop[opsIndex].filter(img[imgIndex], bi);        g2.drawImage(bi,0,0,w,h,null);    }    public void stateChanged(ChangeEvent e) {        // when using these sliders use double buffering, which means        // ignoring when DemoSurface.imageType = 'On Screen'        if (getImageType() <= 1) {            setImageType(2);        }        if (e.getSource().equals(slider1)) {            if (opsIndex == 0) {                thresholdOp(slider1.getValue(), high);            } else {                rescaleFactor = slider1.getValue();                biop[1] = new RescaleOp((float)rescaleFactor/128.0f, rescaleOffset, null);            }        } else {            if (opsIndex == 0) {                thresholdOp(low, slider2.getValue());            } else {                rescaleOffset = (float) slider2.getValue();                biop[1] = new RescaleOp((float)rescaleFactor/128.0f, rescaleOffset, null);            }        }        repaint();    }    public static void main(String s[]) {        createDemoFrame(new ImageOps());    }    static class DemoControls extends CustomControls implements ActionListener {        ImageOps demo;        JComboBox imgCombo, opsCombo;        Font font = new Font("serif", Font.PLAIN, 10);        public DemoControls(ImageOps demo) {            super(demo.name);            this.demo = demo;            add(imgCombo = new JComboBox());            imgCombo.setFont(font);            for (int i = 0; i < ImageOps.imgName.length; i++) {                imgCombo.addItem(ImageOps.imgName[i]);            }            imgCombo.addActionListener(this);            add(opsCombo = new JComboBox());            opsCombo.setFont(font);            for (int i = 0; i < ImageOps.opsName.length; i++) {                opsCombo.addItem(ImageOps.opsName[i]);            }            opsCombo.addActionListener(this);        }        public void actionPerformed(ActionEvent e) {            if (e.getSource().equals(opsCombo)) {                demo.opsIndex = opsCombo.getSelectedIndex();                if (demo.opsIndex == 0) {                    demo.slider1.setValue(demo.low);                    demo.slider2.setValue(demo.high);                    demo.slider1.setEnabled(true);                    demo.slider2.setEnabled(true);                } else if (demo.opsIndex == 1) {                    demo.slider1.setValue(demo.rescaleFactor);                    demo.slider2.setValue((int) demo.rescaleOffset);                    demo.slider1.setEnabled(true);                    demo.slider2.setEnabled(true);                } else {                    demo.slider1.setEnabled(false);                    demo.slider2.setEnabled(false);                }            } else if (e.getSource().equals(imgCombo)) {                demo.imgIndex = imgCombo.getSelectedIndex();            }            demo.repaint(10);        }        public Dimension getPreferredSize() {            return new Dimension(200,39);        }        public void run() {            try { thread.sleep(1111); } catch (Exception e) { return; }            Thread me = Thread.currentThread();            while (thread == me) {                for (int i = 0; i < ImageOps.imgName.length; i++) {                    imgCombo.setSelectedIndex(i);                    for (int j = 0; j < ImageOps.opsName.length; j++) {                        opsCombo.setSelectedIndex(j);                        if (j <= 1) {                            for (int k = 50; k <= 200; k+=10) {                                demo.slider1.setValue(k);                                try {                                    thread.sleep(200);                                } catch (InterruptedException e) { return; }                            }                        }                        try {                            thread.sleep(4444);                        } catch (InterruptedException e) { return; }                    }                }            }            thread = null;        }    } // End DemoControls} // End ImageOps

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲自拍一区| 精品播放一区二区| 中文字幕一区二区三区av| 紧缚奴在线一区二区三区| 欧美一卡二卡在线观看| 日韩一区日韩二区| eeuss鲁片一区二区三区在线看| 国产精品美女久久久久久久久| 国产aⅴ综合色| 国产三级欧美三级| 成人一区二区三区视频| 国产精品成人在线观看| 色综合咪咪久久| 亚洲人成网站在线| 色av成人天堂桃色av| 亚洲一区二区影院| 欧美肥妇free| 久88久久88久久久| 久久久99精品久久| 成人动漫中文字幕| 国产精品无圣光一区二区| 成人黄色电影在线| 一区二区三区高清| 欧美视频三区在线播放| 午夜av区久久| 欧美一区二区日韩| 国产精品亚洲成人| 久久免费的精品国产v∧| 成人毛片在线观看| 亚洲日本韩国一区| av高清不卡在线| 亚洲伦在线观看| 91精品国产综合久久精品图片 | 日韩欧美在线123| 久久精品99国产精品| 久久蜜桃av一区二区天堂| 成人97人人超碰人人99| 日韩理论片在线| 欧美色手机在线观看| 一区二区三区日韩欧美精品| 欧美精品日韩精品| 国产精品自在在线| 亚洲精品中文字幕乱码三区| 欧美巨大另类极品videosbest | jlzzjlzz国产精品久久| 亚洲一区二区三区四区在线| 日韩欧美一区二区久久婷婷| 成年人午夜久久久| 日韩精品免费视频人成| 欧美精品一区二区三区视频| 成人涩涩免费视频| 日韩中文字幕91| 国产精品欧美久久久久一区二区| 欧洲一区二区三区在线| 免费高清视频精品| 亚洲欧美日韩人成在线播放| 日韩美女在线视频| 国产精品996| 亚洲国产一区二区a毛片| 国产女人18水真多18精品一级做| 欧美三级视频在线观看| 成人午夜精品一区二区三区| 首页综合国产亚洲丝袜| 国产精品精品国产色婷婷| 欧美一区二区三区在线观看 | 美国精品在线观看| 一区二区三区四区不卡在线| 日韩精品一区国产麻豆| 在线亚洲一区二区| 粉嫩高潮美女一区二区三区| 图片区小说区国产精品视频| 国产精品无圣光一区二区| 日韩一级黄色大片| 91成人在线精品| 粗大黑人巨茎大战欧美成人| 日本va欧美va精品发布| 亚洲一区欧美一区| 中文字幕一区二区三区在线播放 | 欧美二区在线观看| 91黄色免费看| 91麻豆视频网站| 国产一区二区三区日韩| 日韩国产欧美视频| 婷婷国产在线综合| 亚洲卡通动漫在线| 亚洲免费观看高清在线观看| 国产精品素人一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 在线综合视频播放| 色综合中文字幕国产 | 欧美日韩中文精品| 色老汉av一区二区三区| www.亚洲国产| 成人sese在线| 国产精品91一区二区| 国产福利电影一区二区三区| 麻豆精品蜜桃视频网站| 亚洲福利一二三区| 亚洲成人黄色小说| 调教+趴+乳夹+国产+精品| 性久久久久久久久| 天天爽夜夜爽夜夜爽精品视频| 亚洲国产成人91porn| 亚洲国产另类av| 亚洲精品亚洲人成人网| 一区二区高清在线| 日本在线播放一区二区三区| 免播放器亚洲一区| 国产自产高清不卡| 国产成人8x视频一区二区| 国产99精品在线观看| 精品一区二区三区日韩| 国模套图日韩精品一区二区| 国产精品538一区二区在线| 国产乱理伦片在线观看夜一区| 国产成人av一区二区| 91亚洲精品一区二区乱码| 99精品在线免费| 91蝌蚪porny成人天涯| 在线观看国产一区二区| 宅男噜噜噜66一区二区66| 精品国产一区二区三区久久久蜜月 | 日精品一区二区| 狠狠色狠狠色综合日日91app| 国产麻豆精品久久一二三| 99久久99久久精品国产片果冻| 91免费在线看| 3751色影院一区二区三区| 精品国产99国产精品| 中文字幕中文字幕一区| 亚洲高清不卡在线| 精品一二三四区| av福利精品导航| 欧美一区二区三区系列电影| 国产亚洲欧洲一区高清在线观看| 亚洲综合成人在线| av在线不卡观看免费观看| 精品欧美一区二区久久| 亚洲国产精品一区二区www在线| 国产成人精品亚洲777人妖| 欧美一级生活片| 亚洲精品国产第一综合99久久| 国产乱一区二区| 欧美一区二区二区| 亚洲一区二区三区四区在线| 粉嫩绯色av一区二区在线观看| 日韩免费观看2025年上映的电影| 亚洲自拍欧美精品| 色婷婷久久综合| 欧美韩日一区二区三区四区| 韩国精品主播一区二区在线观看| 欧美日韩日日摸| 亚洲一区在线视频| 91免费看片在线观看| 中文字幕在线免费不卡| 国产成人一级电影| 国产亚洲成aⅴ人片在线观看| 蜜臀av性久久久久蜜臀av麻豆 | 亚洲高清视频中文字幕| 一本大道av伊人久久综合| 国产精品水嫩水嫩| 粉嫩av一区二区三区粉嫩| 国产农村妇女毛片精品久久麻豆 | 国产欧美一区二区三区鸳鸯浴 | 天天做天天摸天天爽国产一区| 91久久香蕉国产日韩欧美9色| 国产精品乱码久久久久久| 国产成人久久精品77777最新版本| 精品国产免费视频| 国产伦理精品不卡| 国产亚洲精品免费| 成人理论电影网| 欧美国产国产综合| 成人精品电影在线观看| 中文字幕不卡的av| 成人av午夜电影| 自拍偷拍亚洲欧美日韩| 91国产免费看| 亚洲成人一区二区| 日韩视频在线观看一区二区| 老司机午夜精品| 久久久精品国产免大香伊| 成人涩涩免费视频| 一区二区高清视频在线观看| 欧美精品亚洲一区二区在线播放| 日韩av二区在线播放| 精品国产免费人成电影在线观看四季| 国内精品伊人久久久久av一坑| 国产欧美一区二区在线观看| 99这里只有精品| 亚洲高清久久久| 欧美刺激午夜性久久久久久久| 国产一区二区看久久| 国产精品免费网站在线观看| 欧美中文字幕一二三区视频| 美女一区二区视频| 久久久综合激的五月天| 91天堂素人约啪| 免费高清在线视频一区·| 国产精品麻豆欧美日韩ww|