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

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

?? imagegray.java

?? Visual J++ 6.0中讀取圖像的灰度與進行灰度變換。
?? JAVA
字號:

import java.awt.*;
import java.applet.*;
import java.awt.image.*;
import java.awt.event.*;
/**
 * This class reads PARAM tags from its HTML host page and sets
 * the color and label properties of the applet. Program execution
 * begins with the init() method. 
 */
public class ImageGray extends Applet implements MouseListener
{
	//Java窗口的尺寸
	int windowWidth,windowHeight;
	
	//imageTest:原始圖片;被重新亮度化的圖片
	Image imageTest,imageCurrent;

	//雙緩沖
	Image offScreenImage;
	Graphics offScreen;

	//圖像的尺寸
	int imageWidth,imageHeight;
	
	//圖像是否被恢復
	boolean bRestore = true;
	
	//用于存儲像素數據的數組
	int pixelsSource[];
	int pixelsDestnation[];
	
	//內存圖像管理
	MemoryImageSource memoryImage;
	
	FrameManager frameManager;
	GrayDialog gd;
	
	//亮度修正比
	float fBrightness = 1.0f;
	int lower_valve = 0;
	int upper_valve = 255;

	float param_a = 1.0f;
	int whichMethod = 0;
	
	public void init()
	{
		initForm();

		usePageParams();
		
		initParameters();
	}

	private	final String labelParam = "label";
	private	final String backgroundParam = "background";
	private	final String foregroundParam = "foreground";

	/**
	 * Reads params from the applet's HTML host and sets applet
	 * properties.
	 */
	private void usePageParams()
	{
		final String defaultLabel = "Default label";
		final String defaultBackground = "C0C0C0";
		final String defaultForeground = "000000";
		String labelValue;
		String backgroundValue;
		String foregroundValue;

		labelValue = getParameter(labelParam);
		backgroundValue = getParameter(backgroundParam);
		foregroundValue = getParameter(foregroundParam);

		if ((labelValue == null) || (backgroundValue == null) ||
			(foregroundValue == null))
		{
			/**
			 * There was something wrong with the HTML host tags.
			 * Generate default values.
			 */
			labelValue = defaultLabel;
			backgroundValue = defaultBackground;
			foregroundValue = defaultForeground;
		}

		/**
		 * Set the applet's string label, background color, and
		 * foreground colors.
		 */
		label1.setText(labelValue);
		label1.setBackground(stringToColor(backgroundValue));
		label1.setForeground(stringToColor(foregroundValue));
		this.setBackground(stringToColor(backgroundValue));
		this.setForeground(stringToColor(foregroundValue));
	}

	/**
	 * Converts a string formatted as "rrggbb" to an awt.Color object
	 */
	private Color stringToColor(String paramValue)
	{
		int red;
		int green;
		int blue;

		red = (Integer.decode("0x" + paramValue.substring(0,2))).intValue();
		green = (Integer.decode("0x" + paramValue.substring(2,4))).intValue();
		blue = (Integer.decode("0x" + paramValue.substring(4,6))).intValue();

		return new Color(red,green,blue);
	}

	/**
	 * External interface used by design tools to show properties of an applet.
	 */
	public String[][] getParameterInfo()
	{
		String[][] info =
		{
			{ labelParam, "String", "Label string to be displayed" },
			{ backgroundParam, "String", "Background color, format \"rrggbb\"" },
			{ foregroundParam, "String", "Foreground color, format \"rrggbb\"" },
		};
		return info;
	}

	Label label1 = new Label();

	/**
	 * Intializes values for the applet and its components
	 */
	void initForm()
	{
		this.setBackground(Color.lightGray);
		this.setForeground(Color.black);
		label1.setText("label1");
		this.setLayout(new BorderLayout());
		this.add("North",label1);
	}

	public void initParameters()
	{
		windowWidth = Integer.parseInt(getParameter("width"));
		windowHeight = Integer.parseInt(getParameter("height"));
		
		//裝載圖像并獲取圖像參數
		imageTest = loadingImage( "seashore.bmp", "Loading image one..." );
		offScreenImage = createImage( windowWidth, windowHeight );
		offScreen = offScreenImage.getGraphics();
		
		imageWidth = imageTest.getWidth(this);
		imageHeight = imageTest.getHeight(this);
		
		//創建存儲像素數據的數組
		pixelsSource = new int[imageWidth * imageHeight];
		pixelsDestnation = new int[imageWidth * imageHeight];
		
		//創建像素抓取器
		PixelGrabber  pixelGrabber = new PixelGrabber(imageTest,0,0,imageWidth,imageHeight,pixelsSource,0,imageWidth);
		 
		try
		{
			pixelGrabber.grabPixels ();
		}
		catch(InterruptedException e)
		{}
		 
		//創建內存圖像管理器
		memoryImage  = new MemoryImageSource(imageWidth,imageHeight,ColorModel.getRGBdefault(),pixelsDestnation,0,imageWidth);
		
		//創建當前圖像,它是經像素修復的圖像
		imageCurrent = createImage(memoryImage);
		
		
		this.addMouseListener(this);
		
		//frameManager只作為服務者出現,而不必給它顯示的機會,要顯示的將是對話框
		frameManager = new FrameManager("Data Frame");
		gd = new GrayDialog(frameManager,"Gray: ",true);
		
		//第一次繪制
		draw_groupBox_border(offScreen);
		
	 
	}
	
	public Image loadingImage(String imageFile,String status)
	{
		Image image;
		MediaTracker mediaTracker  = new MediaTracker(this);
		
		showStatus(status);
		
		image = getImage(getCodeBase(),imageFile);
		mediaTracker .addImage(image,0);
		try
		{
			mediaTracker .waitForID(0);
		}
		catch(InterruptedException e){}
		
		showStatus("");
		return (image);
	}

	public void paint(Graphics g)
	{
				
		if(bRestore)
		{
			offScreen.drawImage(this.imageTest, 15, 32, this );
			g.drawImage( offScreenImage, 0, 0, this );
		}
		//鼠標事件已經發生
		else
		{
			//if(gd.isDataChanged)
			{
				GrayRetriever  gr = null;
				
				switch(whichMethod)
				{
					//灰度比例化
					case 0:
					  if(gd.isDataChanged)
					  {
						BrightnessRetriever  br  = new BrightnessRetriever (this.param_a,lower_valve,upper_valve); 
				        br.retrieveRGB(pixelsSource,80,50,200,150,imageWidth,pixelsDestnation);
						//br.retrieveRGB(pixelsSource,imageWidth,pixelsDestnation);
					  } 
						break;
					//灰度取反	
					case 1:
						gr = new GrayRetriever( );
						gr.setImageProperty(false);
						gr.setType(GrayRetriever.PIXEL_GRAY_REVERSE );
						gr.retrieveRGB(pixelsSource,80,50,200,150,imageWidth,pixelsDestnation);
						break;
					//灰度直方圖均衡化	
					case 2:
						
						HistogramRetriever  hr = new HistogramRetriever ();
		                hr.isGrayImage = true;
			            hr.retrieveRGB(pixelsSource,80,50,200,150,imageWidth,pixelsDestnation);
			
                        break;
					default:
						break;
					
				}
				offScreen.drawImage(imageCurrent,15,32,this);
			}
			g.drawImage( offScreenImage, 0, 0, this );

		}
	}
	
	public void draw_groupBox_border(Graphics g)
	{
		BorderRectangle br = new BorderRectangle(13,30,imageWidth + 2,imageHeight + 2);
		br.setBkColor(Color.black);
		br.draw(g);
	}
	
	
	public void update(Graphics g)
	{
		paint(g);
	}
	

	public void mouseClicked(MouseEvent evt)
	{
		if(evt.getModifiers() == MouseEvent.BUTTON1_MASK)
		{
			//恢復原始圖像
			bRestore = true;
			
			repaint(15,32,imageWidth - 1,imageHeight - 2);
		}
		else if(evt.getModifiers() == MouseEvent.BUTTON3_MASK)
		{
			bRestore = false;
			
			String str_a,str_b,str_c,str_d;
			
			str_a = String.valueOf(param_a);
			
			gd.tx_1.setText(str_a);
			
			gd.which =  whichMethod;

			//上一次選中的單選按鈕
			gd.radioManager.setSelectedCheckbox(gd.radios[whichMethod]);
			
			//顯示對話框
			gd.show();
			
			if(gd.isDataChanged)
			{
				//獲取對話框的文本值
				str_a = gd.str_1;
				
				//轉化為數據
				
				Float float_a = new Float(str_a);
				
				param_a = float_a.floatValue();
		
				whichMethod = gd.which;
					
				
				imageCurrent = createImage(memoryImage);
				repaint(15,32,imageWidth - 1,imageHeight - 2);
			}
		}
	}
	
	public void mouseEntered(MouseEvent evt){}
	public void mouseExited(MouseEvent evt){}
	public void mousePressed(MouseEvent evt){}
	public void mouseReleased(MouseEvent evt){}

}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品污污网站免费看| 欧美麻豆精品久久久久久| 色一情一乱一乱一91av| 欧美一区二区三区在线观看| 欧美精品一区二区三区四区| 亚洲综合男人的天堂| 国产最新精品精品你懂的| 在线观看日韩毛片| 亚洲国产精品二十页| 日韩电影在线观看电影| 91麻豆福利精品推荐| 久久精品免费在线观看| 青青草伊人久久| 欧洲国内综合视频| 国产精品白丝在线| 成人免费的视频| 欧美精品一区二| 天堂在线一区二区| 在线日韩一区二区| 一区二区三区在线视频免费观看| 国产剧情一区二区| 久久夜色精品一区| 国产尤物一区二区在线 | 国产精品12区| 精品国产乱码久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美性大战久久久久久久蜜臀| 中文字幕一区二区在线观看| 国产乱国产乱300精品| 精品三级av在线| 久久电影网电视剧免费观看| 在线播放91灌醉迷j高跟美女 | 中文字幕一区二区日韩精品绯色| 久久国产成人午夜av影院| 欧美一区二区福利视频| 亚洲国产美国国产综合一区二区| 91蜜桃视频在线| 一区二区三区在线播| 日本黄色一区二区| 亚洲高清免费观看| 日韩你懂的在线观看| 久久激情综合网| 久久这里只有精品6| 国产精品18久久久久久久久久久久| 久久久久99精品一区| 国产精品99久久久久久久vr| 国产欧美一区二区精品性色| 国产传媒日韩欧美成人| 国产精品你懂的在线| 91日韩一区二区三区| 一区二区欧美视频| 欧美一区二区三级| 国产精品一线二线三线精华| 国产欧美日韩三级| 色综合久久综合网欧美综合网 | 日韩和欧美的一区| 久久综合色播五月| 99久久婷婷国产综合精品电影 | 亚洲成人先锋电影| 欧美mv日韩mv| eeuss鲁片一区二区三区在线观看| 亚洲欧洲美洲综合色网| 欧美喷潮久久久xxxxx| 韩国女主播成人在线观看| 亚洲色图.com| 日韩一区二区三区视频| 成人午夜激情视频| 视频精品一区二区| 国产日韩欧美综合一区| 在线亚洲高清视频| 激情文学综合网| 亚洲黄色免费网站| 久久综合成人精品亚洲另类欧美 | 4438亚洲最大| 成人高清视频在线观看| 日韩国产一区二| 亚洲欧美日韩国产综合在线| 欧美一级高清大全免费观看| 99视频一区二区三区| 麻豆91免费观看| 亚洲欧美日本韩国| 日韩欧美成人一区二区| 成人在线视频一区二区| 麻豆精品视频在线观看视频| 国产精品毛片a∨一区二区三区| 色欧美片视频在线观看在线视频| 婷婷激情综合网| 中文字幕精品一区| 欧美精品丝袜久久久中文字幕| 激情文学综合丁香| 亚洲国产精品嫩草影院| 精品国一区二区三区| 日韩和欧美一区二区| 亚洲综合区在线| 日本一区二区视频在线观看| 欧美日韩精品是欧美日韩精品| 亚洲第一av色| 亚洲天堂福利av| 精品国产1区二区| 一本色道久久加勒比精品| 激情综合一区二区三区| 亚洲国产精品久久不卡毛片 | 国产精品久久精品日日| 色婷婷激情一区二区三区| 美女精品自拍一二三四| 亚洲激情五月婷婷| 国产亚洲一本大道中文在线| 欧美片在线播放| 欧美在线观看18| 99麻豆久久久国产精品免费优播| 三级久久三级久久久| 午夜亚洲福利老司机| 亚洲日本免费电影| 日本一区二区三区四区| 精品免费日韩av| 日韩三级视频中文字幕| 欧洲一区二区三区免费视频| 欧美亚洲自拍偷拍| 色综合色狠狠综合色| 成人丝袜高跟foot| 国产乱码精品一区二区三区忘忧草 | 亚洲一区日韩精品中文字幕| 国产精品视频免费| 国产欧美精品一区二区色综合朱莉| 欧美二区三区91| 色婷婷久久综合| 欧美一区二区三区在线视频| 欧美亚洲国产一区二区三区va| 成人av网在线| 国产精品影视天天线| 久久成人18免费观看| 亚洲一区二区三区三| 亚洲午夜久久久久中文字幕久| 成人欧美一区二区三区1314| 国产精品久久久一区麻豆最新章节| 国产午夜精品福利| 国产欧美日产一区| 国产精品久久久久四虎| 亚洲电影在线播放| 尤物av一区二区| 日韩和欧美一区二区| 免费成人在线网站| 国产乱码精品一区二区三区忘忧草| 狠狠v欧美v日韩v亚洲ⅴ| 久久99精品国产麻豆婷婷洗澡| 久久国产尿小便嘘嘘| 国产一区二区导航在线播放| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲人被黑人高潮完整版| 亚洲精品中文字幕乱码三区 | 久久综合久色欧美综合狠狠| 久久先锋影音av鲁色资源网| 久久久久99精品国产片| 亚洲国产精品99久久久久久久久 | 欧美日韩一区二区三区高清| 高清在线观看日韩| 69av一区二区三区| 久久综合色8888| 亚洲色图欧美偷拍| 日av在线不卡| 国产在线视视频有精品| 99国产精品99久久久久久| 色琪琪一区二区三区亚洲区| 91精品中文字幕一区二区三区| 26uuu精品一区二区在线观看| 国产精品国模大尺度视频| 中文字幕精品一区| 麻豆国产欧美日韩综合精品二区| 国产一区欧美日韩| 91麻豆国产福利精品| 欧美成人国产一区二区| 亚洲天堂中文字幕| 久久精品国产77777蜜臀| 国产精品一区免费在线观看| 在线视频观看一区| 久久久国产精品不卡| 亚洲国产日日夜夜| 国产成人精品一区二| 91麻豆精品在线观看| 欧美国产欧美综合| 奇米888四色在线精品| www.欧美亚洲| 日韩欧美一区二区免费| 亚洲精品国产一区二区三区四区在线| 亚洲欧美日韩一区| 秋霞午夜av一区二区三区| 色综合久久中文综合久久牛| 久久婷婷国产综合国色天香| 亚洲一区二区视频| 91色视频在线| 国产色产综合产在线视频| 蜜桃视频免费观看一区| 欧美中文一区二区三区| 亚洲一区二区三区视频在线| 成人av动漫网站| 国产欧美中文在线| 国模大尺度一区二区三区| 欧美日韩在线免费视频| 亚洲va韩国va欧美va精品| 一本色道久久综合亚洲91|