Конспект лекций по курсу Выбранные вопросы информатики (часть 2) для специальности Информатика Графика

Вид материалаКонспект
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   17

Этим набором цветов пользоваться очень просто:

public void paint(Graphics g)

{

g.setColor(Color.yellow);

g.drawString("Hello, Java world!", 10, 20);

. . .

}

Здесь мы привели фрагмент исходного текста метода paint, в котором в контексте отображения устанавливается желтый цвет. После этого метод drawString выведет текстовую строку " Hello, Java world!" желтым цветом.

Если необходима более точная установка цвета, вы можете воспользоваться одним из трех конструкторов объекта Color:

public Color(float r, float g, float b);

public Color(int r, int g, int b);

public Color(int rgb);

Первые два конструктора позволяют задавать цвет в виде совокупности значений трех основных цветовых компонент - красной, желтой и голубой (соответственно, параметры r, g и b). Для первого конструктора диапазон возможных значений компонент цвета находится в диапазоне от 0.0 до 1.0, а для второго - в диапазоне от 0 до 255.

Третий конструктор также позволяет задавать отдельные компоненты цвета, однако они должны быть скомбинированы в одной переменной типа int. Голубая компонента занимает биты от 0 до 7, зеленая - от 8 до 15, красная - от 16 до 23.

Ниже мы привели пример выбора цвета с помощью конструктора, передав ему три целочисленных значения цветовых компонент:

g.setColor(new Color(0, 128, 128));

В классе Color определено еще несколько методов, которые могут оказаться вам полезными:

Метод

Описание


public Color brighter ();

Установка более светлого варианта того же цвета

public Color darker ();

Установка более темного варианта того же цвета

public boolean equals (Object obj);

Проверка равенства цветов текущего объекта и объекта, заданного параметром

public int getBlue ();

Определение голубой компоненты цвета (в диапазоне от 0 до 255)

public int getRed ();

Определение красной компоненты цвета (в диапазоне от 0 до 255)

public int getGreen ();

Определение зеленой компоненты цвета (в диапазоне от 0 до 255)

getHSBColor (float h, float s, float b);

Определение компонент оттенка, насыщенности и яркости (схема HSB)

public int getRGB ();

Определение компонент RGB для цвета, выбранного в контекст отображения

public static int HSBtoRGB (float hue, float saturation, float brightness);

Преобразование цветового представления из схемы HSB в схему RGB

public static float[] RGBtoHSB (int r, int g, int b, float hsbvals[]);

Преобразование, обратное выполняемому предыдущей функцией

public String toString ();

Получение текстовой строки названия цвета