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

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

?? imageops.java

?? Examples From Java Examples in a Nutshell, 2nd Edition 書中的源碼
?? JAVA
字號:
/* * Copyright (c) 2000 David Flanagan.  All rights reserved. * This code is from the book Java Examples in a Nutshell, 2nd Edition. * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied. * You may study, use, and modify it for any non-commercial purpose. * You may distribute it non-commercially as long as you retain this notice. * For a commercial use license, or to purchase the book (recommended), * visit http://www.davidflanagan.com/javaexamples2. */package com.davidflanagan.examples.graphics;import java.awt.*;import java.awt.geom.*;import java.awt.image.*;import java.awt.color.*;/** A demonstration of various image processing filters */public class ImageOps implements GraphicsExample {    static final int WIDTH = 600, HEIGHT = 675;         // Size of our example    public String getName() {return "Image Processing";}// From GraphicsExample    public int getWidth() { return WIDTH; }             // From GraphicsExample    public int getHeight() { return HEIGHT; }           // From GraphicsExample    Image image;    /** This constructor loads the image we will manipulate */    public ImageOps() {	java.net.URL imageurl = this.getClass().getResource("cover.gif");	image = new javax.swing.ImageIcon(imageurl).getImage();    }        // These arrays of bytes are used by the LookupImageOp image filters below    static byte[] brightenTable = new byte[256];    static byte[] thresholdTable = new byte[256];    static {  // Initialize the arrays	for(int i = 0; i < 256; i++) {	    brightenTable[i] = (byte)(Math.sqrt(i/255.0)*255);	    thresholdTable[i] = (byte)((i < 225)?0:i);	}    }    // This AffineTransform is used by one of the image filters below    static AffineTransform mirrorTransform;    static {  // Create and initialize the AffineTransform	mirrorTransform = AffineTransform.getTranslateInstance(127, 0);	mirrorTransform.scale(-1.0, 1.0);  // flip horizontally    }    // These are the labels we'll display for each of the filtered images    static String[] filterNames = new String[] {	"Original", "Gray Scale",  "Negative",  "Brighten (linear)",	"Brighten (sqrt)", "Threshold", "Blur",	"Sharpen",	"Edge Detect", "Mirror", "Rotate (center)", "Rotate (lower left)"    };    // The following BufferedImageOp image filter objects perform    // different types of image processing operations.    static BufferedImageOp[] filters = new BufferedImageOp[] {	// 1) No filter here.  We'll display the original image	null,	// 2) Convert to Grayscale color space	new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null),	// 3) Image negative.  Multiply each color value by -1.0 and add 255	new RescaleOp(-1.0f, 255f, null),	// 4) Brighten using a linear formula that increases all color values	new RescaleOp(1.25f, 0, null),	// 5) Brighten using the lookup table defined above	new LookupOp(new ByteLookupTable(0, brightenTable), null),	// 6) Threshold using the lookup table defined above	new LookupOp(new ByteLookupTable(0, thresholdTable), null),	// 7) Blur by "convolving" the image with a matrix	new ConvolveOp(new Kernel(3, 3, new float[] {  	    .1111f,.1111f,.1111f,	    .1111f,.1111f,.1111f,	    .1111f,.1111f,.1111f,})),	// 8) Sharpen by using a different matrix	new ConvolveOp(new Kernel(3, 3, new float[] {  	    0.0f, -0.75f, 0.0f,	    -0.75f, 4.0f, -0.75f,	    0.0f, -0.75f, 0.0f})),	// 9) Edge detect using yet another matrix	new ConvolveOp(new Kernel(3, 3, new float[] {  	    0.0f,  -0.75f, 0.0f,	    -0.75f, 3.0f, -0.75f,	    0.0f,  -0.75f, 0.0f})),	// 10) Compute a mirror image using the transform defined above	new AffineTransformOp(mirrorTransform,AffineTransformOp.TYPE_BILINEAR),	// 11) Rotate the image 180 degrees about its center point	new AffineTransformOp(AffineTransform.getRotateInstance(Math.PI,64,95),			      AffineTransformOp.TYPE_NEAREST_NEIGHBOR),	// 12) Rotate the image 15 degrees about the bottom left	new AffineTransformOp(AffineTransform.getRotateInstance(Math.PI/12,								0, 190),			      AffineTransformOp.TYPE_NEAREST_NEIGHBOR),    };    /** Draw the example */    public void draw(Graphics2D g, Component c) {	// Create a BufferedImage big enough to hold the Image loaded	// in the constructor.  Then copy that image into the new	// BufferedImage object so that we can process it.	BufferedImage bimage = new BufferedImage(image.getWidth(c),						 image.getHeight(c),						 BufferedImage.TYPE_INT_RGB);	Graphics2D ig = bimage.createGraphics();	ig.drawImage(image, 0, 0, c);  // copy the image	// Set some default graphics attributes	g.setFont(new Font("SansSerif", Font.BOLD, 12));  // 12pt bold text	g.setColor(Color.green);                          // Draw in green	g.translate(10, 10);                              // Set some margins	// Loop through the filters	for(int i = 0; i < filters.length; i++) {	    // If the filter is null, draw the original image, otherwise,	    // draw the image as processed by the filter	    if (filters[i] == null) g.drawImage(bimage, 0, 0, c);	    else g.drawImage(filters[i].filter(bimage, null), 0, 0, c);	    g.drawString(filterNames[i], 0, 205);      // Label the image	    g.translate(137, 0);                       // Move over	    if (i % 4 == 3) g.translate(-137*4, 215);  // Move down after 4	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一级二级三级| 激情综合色播激情啊| 国产精品国产三级国产普通话三级 | 日本一区二区三区四区在线视频| 91精品国产欧美日韩| 欧美二区三区的天堂| 欧美一区二区在线看| 欧美精品日日鲁夜夜添| 制服.丝袜.亚洲.中文.综合| 欧美日韩国产高清一区二区三区 | 国产一区二区视频在线播放| 蜜桃久久精品一区二区| 久久99九九99精品| 成人综合婷婷国产精品久久免费| 国产精品2024| 91网址在线看| 7799精品视频| 国产片一区二区三区| 综合久久给合久久狠狠狠97色| 麻豆精品视频在线观看免费| 精品一区二区三区久久| 成人中文字幕电影| 欧美日韩成人综合| 久久综合成人精品亚洲另类欧美 | 亚洲综合图片区| 日韩激情一区二区| 国产很黄免费观看久久| 在线看不卡av| 日韩一级片在线观看| 18欧美亚洲精品| 亚洲午夜久久久久久久久久久| 麻豆精品视频在线观看| www.亚洲在线| 91精品国产综合久久福利| 国产精品女主播在线观看| 香蕉成人啪国产精品视频综合网| 精品亚洲成a人| 色香色香欲天天天影视综合网| 欧美成人aa大片| 亚洲黄色av一区| 国产老肥熟一区二区三区| 欧美视频在线观看一区| 国产欧美一区视频| 奇米影视一区二区三区| 99国产精品久久久| 久久久久国色av免费看影院| 无码av免费一区二区三区试看 | 亚洲免费高清视频在线| 精品一区二区综合| 欧美三级中文字幕在线观看| 亚洲国产精品ⅴa在线观看| 免费在线观看一区二区三区| 99re免费视频精品全部| 久久精品夜色噜噜亚洲aⅴ| 午夜电影网一区| 欧美在线免费播放| 国产精品理论在线观看| 国产一区日韩二区欧美三区| 日韩一区二区在线看| 亚洲一区二区三区四区五区中文| 成人一道本在线| 久久一二三国产| 国产主播一区二区三区| 日韩一区二区三区免费看 | 精品国产凹凸成av人导航| 亚洲高清免费视频| 91九色最新地址| 国产精品国产三级国产普通话三级 | 色哟哟国产精品| 中文字幕一区二区三区蜜月| 成人午夜又粗又硬又大| 2023国产精品视频| 国模冰冰炮一区二区| 欧美va亚洲va国产综合| 蓝色福利精品导航| 日韩欧美一区电影| 久久国产精品72免费观看| 精品国产一区二区三区忘忧草| 青青草原综合久久大伊人精品 | 欧美在线免费视屏| 亚洲一区二区三区不卡国产欧美| 91社区在线播放| 亚洲精品v日韩精品| 欧美色成人综合| 免费在线看一区| 国产亚洲婷婷免费| 成人精品视频.| 亚洲色大成网站www久久九九| 色香色香欲天天天影视综合网| 亚洲综合色网站| 欧美一区二区二区| 久久精品99久久久| 国产精品素人视频| 色域天天综合网| 日韩成人免费在线| 国产欧美日韩在线| 91高清视频免费看| 日本va欧美va瓶| 久久久久久久久久久久电影| 成人激情视频网站| 亚洲图片一区二区| 久久精品亚洲一区二区三区浴池 | 欧美日韩中字一区| 麻豆国产欧美日韩综合精品二区| 精品久久国产老人久久综合| 成人国产精品免费观看动漫| 亚洲午夜免费视频| 国产亚洲欧美在线| 欧美久久一二区| 高清不卡一区二区| 日韩高清国产一区在线| 国产精品免费av| 日韩一区二区三| 91女人视频在线观看| 美女视频黄免费的久久| 亚洲婷婷国产精品电影人久久| 91精品久久久久久久91蜜桃| 粉嫩13p一区二区三区| 日本成人中文字幕| 亚洲精品中文字幕在线观看| 久久久午夜精品理论片中文字幕| 色婷婷亚洲一区二区三区| 久久99久久久久| 亚洲国产精品一区二区久久| 日本一区二区视频在线| 日韩欧美一区二区三区在线| 在线视频你懂得一区| 国产成人在线视频网站| 亚洲h在线观看| 亚洲另类一区二区| 欧美高清在线一区二区| 日韩女优毛片在线| 欧美精品国产精品| 色婷婷久久99综合精品jk白丝| 国产成人a级片| 久草精品在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲女人小视频在线观看| 国产亲近乱来精品视频| 久久一留热品黄| 日韩欧美一二三四区| 欧美美女激情18p| 欧美在线制服丝袜| 色综合久久88色综合天天6| 成人av免费观看| 成人午夜视频在线观看| 国产91精品在线观看| 国产精品亚洲成人| 久久精品久久精品| 久久狠狠亚洲综合| 美女爽到高潮91| 久久99精品国产麻豆婷婷| 免费高清视频精品| 久久精品国产999大香线蕉| 美美哒免费高清在线观看视频一区二区 | 蜜桃视频一区二区三区| 日韩电影网1区2区| 热久久免费视频| 日本成人在线一区| 精品亚洲成a人| 国产.欧美.日韩| 色诱亚洲精品久久久久久| 精品免费日韩av| 精品处破学生在线二十三| 久久久精品黄色| 国产精品日产欧美久久久久| 亚洲色图欧洲色图婷婷| 亚洲夂夂婷婷色拍ww47| 午夜成人免费视频| 精品一区二区三区视频| 成人av网在线| 在线观看国产精品网站| 91精品国产综合久久久久| 欧美r级在线观看| 国产亚洲欧美日韩日本| 亚洲日本在线观看| 午夜激情久久久| 国产精品538一区二区在线| 99久久国产综合精品色伊| 欧美伊人久久大香线蕉综合69| 7777精品久久久大香线蕉| 久久综合久久综合久久| 亚洲欧洲精品天堂一级| 偷拍自拍另类欧美| 福利一区在线观看| 911精品产国品一二三产区| 久久九九久久九九| 亚洲综合偷拍欧美一区色| 久久精品国产一区二区三区免费看 | 亚洲男同性恋视频| 久久99深爱久久99精品| 91天堂素人约啪| 欧美成人精品福利| 一区二区在线观看免费| 精品一区二区免费看| 99国产精品久久久久久久久久| 欧美一区二区久久久| 亚洲素人一区二区| 韩国v欧美v日本v亚洲v| 欧美日韩国产综合视频在线观看|