Иллюстрированный самоучитель по Java


         

Как задать цвет


Цвет, как и все в Java, — объект определенного класса, а именно, класса color. Основу класса составляют семь конструкторов цвета. Самый простой конструктор:

Color(int red, int green, int blue)

создает цвет, получающийся как смесь красной red, зеленой green и синей blue составляющих. Эта цветовая модель называется RGB. Каждая составляющая меняется от 0 (отсутствие составляющей) до 255 (полная интенсивность этой составляющей). Например:

Color pureRed = new Color(255, 0, 0); 

Color pureGreen = new Color(0, 255, 0);

определяют чистый ярко-красный pureRed и чистый ярко-зеленый pureGreen цвета.

Во втором конструкторе интенсивность составляющих можно изменять более гладко вещественными числами от 0.0 (отсутствие составляющей) до 1.0 (полная интенсивность составляющей):

Color(float red, float green, float blue) 

Например:

Color someColor = new Color(O.OSf, 0.4f, 0.95f);

Третий конструктор

Color(int rgb)

задает все три составляющие в одном целом числе. В битах 16—23 записывается красная составляющая, в битах 8—15 — зеленая, а в битах 0—7 — синяя составляющая цвета. Например:

Color с = new Color(OXFF8F48FF);

Здесь красная составляющая задана с интенсивностью 0x8F, зеленая — 0x48, синяя

0xFF.

Следующие три конструктора

Color(int red, int green, int blue, int alpha)

Color(float red, float green, float blue, float alpha)

Color(int rgb, boolean hasAlpha)

вводят четвертую составляющую цвета, так называемую "альфу", определяющую прозрачность цвета. Эта составляющая проявляет себя при наложении одного цвета на другой. Если альфа равна 255 или 1,0, то цвет совершенно непрозрачен, предыдущий цвет не просвечивает сквозь него. Если альфа равна 0 или 0,0, то цвет абсолютно прозрачен, для каждого пиксела виден только предыдущий цвет.

Последний из этих конструкторов учитывает составляющую альфа, находящуюся в битах 24—31, если параметр hasAipha равен true. Если же hasAipha равно false, то составляющая альфа считается равной 255, независимо от того, что записано в старших битах параметра rgb.



Содержание  Назад  Вперед