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

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

?? imagechanger.java

?? JAVA程序 顯示圖片的JAVA程序 功能一般,
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * @(#)ImageChanger.java      
 *
 * Copyright (c) 1996,1997 NAKAGAWA Masami
 *
 * Permission to use, copy, modify, and distribute this software
 * for NON-COMMERCIAL purpose and without fee is hereby granted. 
 */

import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import java.net.*;

/** A class of GIF(JPEG) image changer to decorate a Web page
 * @author	NAKAGAWA Masami
 * @version	2.01, 9 Aug 1997
 */
public class ImageChanger extends Applet implements Runnable {
	final int FADEMAX = 16;
	final int FADEWID = 64;
	final int EFFECTNUM = 20;
	final int PADX = 10;
	final int PADY = 10;
	final int NONE = 0;
	final int SCROLLUP = 1;
	final int SCROLLDOWN = 2;
	final int SCROLLRIGHT = 3;
	final int SCROLLLEFT = 4;
	final int TEARVERTICAL = 5;
	final int TEARHORIZONTAL = 6;
	final int OPEN = 7;
	final int CLOSE = 8;
	final int FADE = 9;
	final int MOSAIC = 10;
	final int TEARUP = 11;
	final int TEARDOWN = 12;
	final int TEARRIGHT = 13;
	final int TEARLEFT = 14;
	final int SLIDEUP = 15;
	final int SLIDEDOWN = 16;
	final int SLIDERIGHT = 17;
	final int SLIDELEFT = 18;
	final int SHRINKVERTICAL = 19;
	final int SHRINKHORIZONTAL = 20;
	
	Dimension mySize;
	MediaTracker tracker;
	Image[] images;
	String[] imageFile;
	int[] change;
	int[] time;
	String imageDir = ".";
	int imageNum;
	int defaultChange;
	int defaultTime = 5000;
	Color fadeColor = Color.black;
	Color bgColor = Color.black;
	Color fontColor = Color.white;
	Color fontShadowColor;
	Color fontLineColor;
	Color fontBackColor;
	int scrollSpeed = 6;
	int changeSpeed = 3;
	int fadeTime = 80;
	Image[] fadeImage = new Image[FADEMAX];
	Image mosaicImage;
	Thread kicker;
	int current;
	Graphics offScreen;
	Graphics onScreen;
	Image offImage;
	boolean drawWhileLoading = true;
	int mosaicWidth = 16;
	int mosaicHeight = 16;
	int mosaicSpeed = 4;
	Random rand;
	URL[] url;
	boolean randomOrder = false;
	boolean randomEffect = false;
	boolean cursorIn = false;
	boolean autoLink = false;
	boolean linked = false;
	AppletContext context;
	String[] title;
	Point[] titlePos;
	Rectangle[] titleBackArea;
	Font font;
	FontMetrics metrics;
	String target;
	String frame;

	public void init() {
		setBackground(bgColor);
		String s;
		s = getParameter("imageDir");
		if (s != null) imageDir = s;
		s = getParameter("change");
		if (s != null) defaultChange = Integer.parseInt(s);
		s = getParameter("time");
		if (s != null) defaultTime = Integer.parseInt(s);
		s = getParameter("fadeColor");
		if (s != null) fadeColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("bgColor");
		if (s != null) bgColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("fontColor");
		if (s != null) fontColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("fontLineColor");
		if (s != null) fontLineColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("fontShadowColor");
		if (s != null) fontShadowColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("fontBackColor");
		if (s != null) fontBackColor = new Color(Integer.parseInt(s, 16));
		s = getParameter("scrollSpeed");
		if (s != null) scrollSpeed = Integer.parseInt(s);
		s = getParameter("changeSpeed");
		if (s != null) changeSpeed = Integer.parseInt(s);
		s = getParameter("fadeTime");
		if (s != null) fadeTime = Integer.parseInt(s) / FADEMAX;
		s = getParameter("drawWhileLoading");
		if (s != null) drawWhileLoading = Boolean.valueOf(s).booleanValue();
 		s = getParameter("mosaicWidth");
		if (s != null) mosaicWidth = Integer.parseInt(s);
  		s = getParameter("mosaicHeight");
		if (s != null) mosaicHeight = Integer.parseInt(s);
  		s = getParameter("mosaicSpeed");
		if (s != null) mosaicSpeed = Integer.parseInt(s);
 		s = getParameter("randomOrder");
		if (s != null) randomOrder = Boolean.valueOf(s).booleanValue();
		s = getParameter("randomEffect");
		if (s != null) randomEffect = Boolean.valueOf(s).booleanValue();
		s = getParameter("fontSize");
		font = new Font("Dialog", Font.PLAIN, (s == null)?12:Integer.parseInt(s));
		s = getParameter("target");
		if (s != null) target = s;
		s = getParameter("frame");
		if (s != null) frame = s;
		s = getParameter("autoLink");
		if (s != null) autoLink = Boolean .valueOf(s).booleanValue();

		mySize = size();
		rand = new Random();
		context = getAppletContext();

		initImages();
		initTitles();
    }
	
	private void initImages() {
		String s = getParameter("images");
		StringTokenizer t1 = new StringTokenizer(s, ",");
		imageNum = t1.countTokens();
		images = new Image[imageNum];
		imageFile = new String[imageNum];
		change = new int[imageNum];
		time = new int[imageNum];
		url = new URL[imageNum];
		int count = 0;
		while (t1.hasMoreTokens()) {
			s = t1.nextToken();
			StringTokenizer t2 = new StringTokenizer(s, "|");
			imageFile[count] = t2.nextToken().trim();
			change[count] = defaultChange;
			if (t2.hasMoreTokens()) {
				s = t2.nextToken().trim();
				try {
					if (s != null && !s.equals("-")) change[count] = Integer.parseInt(s);
				} catch (NumberFormatException e) {
				}
			}
			time[count] = defaultTime;
			if (t2.hasMoreTokens()) {
				s = t2.nextToken().trim();
				try {
					if (s != null && !s.equals("-")) time[count] = Integer.parseInt(s);
				} catch (NumberFormatException e) {
				}
			}
			if (t2.hasMoreTokens()) {
				s = t2.nextToken().trim();
				try {
					if (s != null && !s.equals("-")) url[count] = new URL(s);
				} catch (MalformedURLException e) {
					try {
						url[count] = new URL(getDocumentBase(), s);
					} catch (MalformedURLException ex) {
					}
				}
			}
			count++;
		}
	}
	
	private void initTitles() {
	    int count = 0;
	    title = new String[imageNum];
	    titlePos = new Point[imageNum];
	    if (fontBackColor != null) {
    	    titleBackArea = new Rectangle[imageNum];
    	}
	    metrics = getFontMetrics(font);
	    String s = getParameter("titles");
	    if (s != null) {
	        StringTokenizer st1 = new StringTokenizer(s, ",");
	        while (st1.hasMoreTokens()) {
	            String t = st1.nextToken();
	            if (!t.equals("-")) {
    	            StringTokenizer st2 = new StringTokenizer(t, "|");
    	            if (st2.hasMoreTokens()) {
    	                title[count] = st2.nextToken();
    	                int x = PADX;
    	                int y = PADY + metrics.getAscent();
    	                int width = metrics.stringWidth(title[count]);
    	                int height = metrics.getAscent();
    	                if (st2.hasMoreTokens()) {
    	                    String u = st2.nextToken();
            			    if ("n".equals(u)) {
        			            x = (mySize.width - width) / 2;
        			            y = PADY + height;
            			    } else if ("ne".equals(u)) {
        			            x = mySize.width - PADX - width;
        			            y = PADY + height;
            			    } else if ("c".equals(u)) {
        			            x = (mySize.width - width) / 2;
        			            y = (mySize.height + height) / 2;
            			    } else if ("sw".equals(u)) {
        			            x = PADX;
        			            y = mySize.height - PADY;
            			    } else if ("s".equals(u)) {
        			            x = (mySize.width - width) / 2;
        			            y = mySize.height - PADY;
            			    } else if ("se".equals(u)) {
        			            x = mySize.width - PADX - width;
        			            y = mySize.height - PADY;
            			    }
    	                }
    	                titlePos[count] = new Point(x, y);
    	                if (fontBackColor != null) {
        	                titleBackArea[count] = new Rectangle(x - 5, y - height - 5,
        	                    width + 10, height + 10);
        	            }
        	        }
	            }
	            count++;
	        }
	    }
	}
	
	public void start() {
		for (int i = 0; i < images.length; i++) {
			try {
				URL imgUrl = new URL(imageFile[i]);
				images[i] = getImage(imgUrl);
			} catch (MalformedURLException e) {
				images[i] = getImage(getDocumentBase(), imageDir + "/" + imageFile[i]);
			}
		}
		offImage = createImage(mySize.width, mySize.height);
		offScreen = offImage.getGraphics();
		onScreen = getGraphics();
		mosaicImage = createImage(mySize.width, mySize.height);
		tracker = new MediaTracker(this);
		for (int i = 0; i < images.length; i++) {
			tracker.addImage(images[i], i);
		}
		makeFadeImages();
		if (kicker == null) {
			kicker = new Thread(this);
			kicker.start();
		}
	}

	void makeFadeImages() {
		int[][] pix = new int[FADEMAX][FADEWID*FADEWID];
		for (int i = 0; i < FADEMAX; i++) {
			for (int y = 0; y < FADEWID; y++) {
				for (int x = 0; x < FADEWID; x++) {
					pix[i][x+y*FADEWID] = (0xff*(i+1)/FADEMAX)<<24 | (fadeColor.getRGB() & 0x00ffffff);
				}
			}
			MemoryImageSource mis = new MemoryImageSource(FADEWID, FADEWID, pix[i], 0, FADEWID);
			fadeImage[i] = createImage(mis);
		}
	}

	public void stop() {
		if (kicker != null) {
			kicker.stop();
		}
		kicker = null;
	}

	public void paint(Graphics g) {
		g.drawImage(offImage, 0, 0, null);
	}

	public void update(Graphics g) {
		paint(g);
	}

	void drawMessage(String message) {
		offScreen.setColor(bgColor);
		offScreen.fillRect(0, 0, mySize.width, mySize.height);
		offScreen.setColor(Color.cyan);
		offScreen.drawString(message, 10, 20);
	}

	void scrollImage(Image fore, Image back, int dx, int dy) {
		int fx = (mySize.width - fore.getWidth(null)) / 2;
		int fy = (mySize.height - fore.getHeight(null)) / 2;
		int bx = (mySize.width - back.getWidth(null)) / 2;
		int by = (mySize.height - back.getHeight(null)) / 2;
		int width = fore.getWidth(null);
		int height = fore.getHeight(null);
		while (fx + width > 0 && fx < mySize.width
				&& fy + height > 0 && fy < mySize.height) {
			fx += dx;
			fy += dy;
			offScreen.setColor(bgColor);
			offScreen.fillRect(0, 0, mySize.width, mySize.height);
			offScreen.drawImage(back, bx, by, null);
			offScreen.drawImage(fore, fx, fy, null);
			onScreen.drawImage(offImage, 0, 0, null);
			try {
				Thread.currentThread().sleep(50);
			} catch (InterruptedException e) {
			}
		}
	}

	void slideImage(Image back, Image fore, int dx, int dy) {
	    int fx = 0;
	    int fy = 0;
		int width = fore.getWidth(null);
		int height = fore.getHeight(null);
		int bx = (mySize.width - back.getWidth(null)) / 2;
		int by = (mySize.height - back.getHeight(null)) / 2;
		int endx = (mySize.width - width) / 2;
		int endy = (mySize.height - height) / 2;
		if (dx != 0) {
    	    fx = (dx > 0)?-width:mySize.width;
    	    fy = endy;
    	} else {
    	    fy = (dy > 0)?-height:mySize.height;
    	    fx = endx;
    	}
		while (true) {
		    if (dx != 0) {
    			fx += dx;
    			if ((dx > 0 && fx > endx) || (dx < 0 && fx < endx)) break;
    		} else {
    			fy += dy;
    			if ((dy > 0 && fy > endy) || (dy < 0 && fy < endy)) break;
    		}
			offScreen.setColor(bgColor);
			offScreen.fillRect(0, 0, mySize.width, mySize.height);
			offScreen.drawImage(back, bx, by, null);
			offScreen.drawImage(fore, fx, fy, null);
			onScreen.drawImage(offImage, 0, 0, null);
			try {
				Thread.currentThread().sleep(50);
			} catch (InterruptedException e) {
			}
		}
	}

	void tearImage(Image image, int dx, int dy) {
		int w = 0;
		int h = 0;
		int	x1 = (mySize.width - image.getWidth(null)) / 2;
		int	y1 = (mySize.height - image.getHeight(null)) / 2;
		int x2 = x1+image.getWidth(null);
		int y2 = y1+image.getHeight(null);
		while (w < image.getWidth(null) && h < image.getHeight(null)) {
			if (dx > 0) {
				w += dx;
				offScreen.clipRect(x1, 0, w, mySize.height);
			} else if (dy > 0) {
				h += dy;
				offScreen.clipRect(0, y1, mySize.width, h);
			} else if (dx < 0) {
				x2 += dx;
				w -= dx;
				offScreen.clipRect(x2, 0, w, mySize.height);
			} else if (dy < 0) {
				y2 += dy;
				h -= dy;
				offScreen.clipRect(0, y2, mySize.width, h);
			}
			offScreen.drawImage(image, x1, y1, null);
			onScreen.drawImage(offImage, 0, 0, null);
			try {
				Thread.currentThread().sleep(50);
			} catch (InterruptedException e) {
			}
			offScreen.dispose();
			offScreen = offImage.getGraphics();
		}
	}

	void tearOpenImage(Image image, int dx, int dy) {
		int x = mySize.width / 2;
		int y = mySize.height / 2;
		int w = 0;
		int h = 0;
		int nx = (mySize.width - image.getWidth(null)) / 2;
		int ny = (mySize.height - image.getHeight(null)) / 2;
		while (x > nx && y > ny) {
			if (dx > 0) {
				x -= dx;
				w += dx * 2;
				offScreen.clipRect(x, 0, w, mySize.height);
			} else if (dy > 0) {
				y -= dy;
				h += dy * 2;
				offScreen.clipRect(0, y, mySize.width, h);
			}
			offScreen.drawImage(image, nx, ny, null);
			onScreen.drawImage(offImage, 0, 0, null);
			try {
				Thread.currentThread().sleep(50);
			} catch (InterruptedException e) {
			}
			offScreen.dispose();
			offScreen = offImage.getGraphics();
		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情午夜影院| 中文字幕av一区 二区| 国产欧美日韩在线视频| 亚洲大片在线观看| 不卡欧美aaaaa| 精品国产91洋老外米糕| 亚洲自拍与偷拍| 99久久精品国产观看| 精品国产电影一区二区| 午夜伦欧美伦电影理论片| 色哟哟国产精品免费观看| 欧美国产综合一区二区| 国产激情一区二区三区桃花岛亚洲| 欧美午夜寂寞影院| 亚洲美女偷拍久久| 91网址在线看| 国产精品福利在线播放| 国产精品综合av一区二区国产馆| 欧美一区二区三区日韩| 亚洲成av人**亚洲成av**| 在线免费亚洲电影| 亚洲一区二区三区四区不卡| 色综合天天性综合| 亚洲欧洲在线观看av| 成人a区在线观看| 亚洲国产成人午夜在线一区| 国产一区二区福利视频| 日韩免费视频一区二区| 免费视频一区二区| 欧美mv日韩mv| 国产一区二区三区四| www亚洲一区| 国产成人在线视频免费播放| xnxx国产精品| 成人免费毛片片v| 亚洲私人黄色宅男| 从欧美一区二区三区| 国产午夜久久久久| 丁香六月综合激情| 亚洲欧美偷拍三级| 欧美日韩在线电影| 日韩精品乱码av一区二区| 欧美日韩精品免费观看视频| 日本女优在线视频一区二区| 日韩欧美国产午夜精品| 视频精品一区二区| 久久九九久精品国产免费直播| 国产精选一区二区三区| 中文字幕日韩精品一区| 欧美性猛交xxxxxxxx| 偷拍亚洲欧洲综合| 精品国产乱子伦一区| 国产一区二区久久| 中文字幕五月欧美| 欧美日韩精品欧美日韩精品一| 老司机免费视频一区二区| 26uuu另类欧美| 91丨国产丨九色丨pron| 亚洲国产精品影院| 日韩精品一区二区三区四区| 成人一区二区三区视频| 亚洲狼人国产精品| 日韩精品一区二区三区视频| 国产成人午夜99999| 亚洲综合精品久久| 国产欧美日韩在线视频| 欧美吞精做爰啪啪高潮| 国产一区二区免费视频| 亚洲午夜久久久久| 国产色91在线| 91精品国产欧美一区二区成人| 国产福利91精品一区二区三区| 午夜久久久久久久久| 中文字幕在线不卡视频| 欧美一区二区视频网站| 91在线无精精品入口| 免费一级欧美片在线观看| 亚洲精品中文在线| 久久久久88色偷偷免费| 91精品国产麻豆国产自产在线| 91亚洲午夜精品久久久久久| 国产一区二三区| 午夜精品福利视频网站| 中文字幕在线观看不卡视频| 久久五月婷婷丁香社区| 欧美日本在线观看| 一本久久a久久精品亚洲 | 国产精品久久免费看| 国产色产综合色产在线视频| 91精品国产综合久久精品图片| 99视频一区二区| 成人一区二区三区中文字幕| 国产一区二区调教| 久久99久国产精品黄毛片色诱| 亚洲一区二区不卡免费| 国产精品久久久久久久久晋中| 久久视频一区二区| 欧美一级在线免费| 欧美三级中文字幕| 欧美最猛性xxxxx直播| gogo大胆日本视频一区| 国产成人av电影| 国产成人亚洲综合a∨婷婷| 奇米精品一区二区三区在线观看 | 欧美成人性战久久| 欧美色图在线观看| 色狠狠色狠狠综合| 日本韩国一区二区三区视频| 91一区二区在线| 91在线精品一区二区| 成人精品国产一区二区4080| 4438成人网| 欧美裸体一区二区三区| 91国产免费看| 欧美性感一区二区三区| 欧美日韩在线播放| 欧美精品少妇一区二区三区 | 91无套直看片红桃| av在线这里只有精品| 99精品一区二区| av亚洲精华国产精华精| 91久久精品国产91性色tv| 日本韩国欧美三级| 在线精品视频一区二区三四| 欧美亚洲国产一区在线观看网站| 欧美色图在线观看| 欧美一级电影网站| 久久久精品国产免费观看同学| 国产情人综合久久777777| 国产精品久久久久久久午夜片| 亚洲欧美经典视频| 三级在线观看一区二区| 国产专区综合网| 色先锋aa成人| 欧美一区二区在线播放| 国产无人区一区二区三区| 亚洲欧美色综合| 青青草国产成人99久久| 国产iv一区二区三区| 色婷婷综合久久久久中文| 欧美丰满少妇xxxbbb| 久久久久久一级片| 亚洲影院免费观看| 久久精品国产网站| 成人av在线一区二区| 欧美伊人久久久久久久久影院| 日韩精品影音先锋| 亚洲免费观看高清完整版在线观看熊 | 日韩专区欧美专区| 国产精品一线二线三线精华| 不卡大黄网站免费看| 欧美午夜精品理论片a级按摩| 欧美mv日韩mv国产网站app| 亚洲丝袜美腿综合| 另类小说一区二区三区| 99久久婷婷国产综合精品| 欧美亚洲丝袜传媒另类| 精品国产污网站| 亚洲精品免费在线播放| 久久99久久精品| 欧美亚日韩国产aⅴ精品中极品| 精品欧美一区二区久久| 国产精品看片你懂得| 美国三级日本三级久久99| 成av人片一区二区| 精品国产乱码久久久久久浪潮| 亚洲人成精品久久久久| 激情深爱一区二区| 欧美日韩专区在线| 中文字幕综合网| 久久精品国产99国产精品| 97精品久久久久中文字幕| 久久只精品国产| 日本欧美一区二区三区| 色八戒一区二区三区| 国产视频视频一区| 久久国产人妖系列| 欧美怡红院视频| 亚洲欧美日韩久久| 风间由美性色一区二区三区| 精品精品国产高清一毛片一天堂| 午夜成人免费电影| 欧美色图激情小说| 亚洲精品中文字幕在线观看| av在线免费不卡| 日本一区二区在线不卡| 国产麻豆精品一区二区| 精品少妇一区二区三区在线视频| 天堂成人国产精品一区| 欧美午夜一区二区三区| 亚洲午夜久久久久久久久电影院| 日本韩国一区二区三区视频| 亚洲欧美国产高清| 91麻豆精东视频| 一个色综合网站| 欧美少妇一区二区| 亚洲第一精品在线| 欧美一区二区三区影视| 日韩av电影一区| 精品99一区二区|