⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snippet208.java

📁 Eclipse JAVA开发软件中SWT各控件范例源码
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.snippets;/* * Change hue, saturation and brightness of a color * * For a list of all SWT example snippets see * http://www.eclipse.org/swt/snippets/ *  * @since 3.2 */import org.eclipse.swt.*;import org.eclipse.swt.graphics.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.widgets.*;public class Snippet208 {	 public static void main (String [] args) {	PaletteData palette = new PaletteData(0xff, 0xff00, 0xff0000);			// ImageData showing variations of hue		ImageData hueData = new ImageData(360, 100, 24, palette);		float hue = 0;	for (int x = 0; x < hueData.width; x++) {		for (int y = 0; y < hueData.height; y++) {			int pixel = palette.getPixel(new RGB(hue, 1f, 1f));			hueData.setPixel(x, y, pixel);		}		hue += 360f / hueData.width;	}	// ImageData showing saturation on x axis and brightness on y axis	ImageData saturationBrightnessData = new ImageData(360, 360, 24, palette);	float saturation = 0f;	float brightness = 1f;	for (int x = 0; x < saturationBrightnessData.width; x++) {		brightness = 1f;		for (int y = 0; y < saturationBrightnessData.height; y++) {			int pixel = palette.getPixel(new RGB(360f, saturation, brightness));				saturationBrightnessData.setPixel(x, y, pixel);			brightness -= 1f / saturationBrightnessData.height;		}		saturation += 1f / saturationBrightnessData.width;	}			Display display = new Display();	Image hueImage = new Image(display, hueData);	Image saturationImage = new Image(display, saturationBrightnessData);	Shell shell = new Shell(display);	shell.setText("Hue, Saturation, Brightness");	GridLayout gridLayout = new GridLayout(2, false);	gridLayout.verticalSpacing = 10;	gridLayout.marginWidth = gridLayout.marginHeight = 16;	shell.setLayout(gridLayout);				Label label = new Label(shell, SWT.CENTER);	label.setImage(hueImage);	GridData data = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 2, 1);	label.setLayoutData(data);			label = new Label(shell, SWT.CENTER); //spacer	label = new Label(shell, SWT.CENTER);	label.setText("Hue");	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);	label.setLayoutData(data);	label = new Label(shell, SWT.CENTER); //spacer	data = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);	label.setLayoutData(data);		label = new Label(shell, SWT.LEFT);	label.setText("Brightness");	data = new GridData(SWT.LEFT, SWT.CENTER, false, false);	label.setLayoutData(data);		label = new Label(shell, SWT.CENTER);	label.setImage(saturationImage);	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);	label.setLayoutData (data);		label = new Label(shell, SWT.CENTER); //spacer	label = new Label(shell, SWT.CENTER);	label.setText("Saturation");	data = new GridData(SWT.CENTER, SWT.CENTER, false, false);	label.setLayoutData(data);		shell.pack();	shell.open();	while (!shell.isDisposed()) {		if (!display.readAndDispatch()) {			display.sleep();		}	}	hueImage.dispose();	saturationImage.dispose();		display.dispose();}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -