Работа с цветом в Java

Работа с цветом в JavaВ Java поддерживаются цвета в переносимой, аппаратно-независимой форме. Цветовая система в библиотеке AWT позволяет сначала задать какой угодно цвет, а затем найти наилучшее соответствие этому цвету с учетом аппаратных ограни­чений, накладываемых на отображение в том устройстве, где выполняется аплет или прикладная программа.

Таким образом, прикладной код не должен зависеть от того, насколько отличается поддержка цвета в разных аппаратных устройствах. Цвет инкапсулируется в классе Color.

В классе Color определяется несколько констант (вроде Color.black) для описания наиболее употребительных используемых цветов.

В следующей программе мы создаем экземпляр цвета с помощью конструктора класса Color. С помощью String объявляем переменную Иван Франко которая будет ссылаться на текст "Критика на творчество Ивана Франко". Данный текст будем выводить в окошко аплета с тремя разными цветами c1, c2 и c3.

//     Java

import java.awt.*;
import java.applet.*;

/*
 *  HTML,   :
 * <applet code="ExampleWithColor" width=300 height=200>
 * </applet>
 */

public class ExampleWithColor extends Applet {

    public void paint(Graphics g) {
        Color c1 = new Color(255, 100, 100);
        Color c2 = new Color(100, 200, 233);
        Color c3 = new Color(0xff000000 | (0xc0 << 16) | (0x00 << 8) | 0x00);
        
        String IvanFranko = "    ";
        g.setFont(new Font("TimesRoman", Font.PLAIN, 35));
        g.setColor(c1);
        g.drawString(IvanFranko, 20, 40);
        g.setColor(c2);
        g.drawString(IvanFranko, 20, 110);
        g.setColor(c3);
        g.drawString(IvanFranko, 20, 180);
    }

}

Вот что должно получится:

Работа с цветом в JavaИмеется также возможность создавать свои цвета, используя один из до­ступных конструкторов цвета. Ниже приведены три наиболее часто используемые формы конструкторов класса Color.

Color(int , int , int )
Color(int __RGB)
Color(float , float , float )

Первый конструктор данного класса принимает три аргумента, задающие цвет в определенном сочетании красной, зеленой и синей составляющих. Значения этих составляющих должны находиться в пределах от 0 до 255, как показано ниже:

Color myColor = new Color(255, 100, 100); // - 

Второй конструктор класса Color принимает единственный аргумент в виде целочисленного значения цвета, составленного из трех основных цветов (RGB).

Попробуйте купить лайки в Одноклассниках с помощью сервиса avi1. Здесь Вы сможете получить не только достаточно крупные скидки на оптовые покупки ресурса, но и весьма качественное и надежное исполнение услуги.

Это целочисленное значение организовано таким образом, чтобы на красную со­ставляющую приходились двоичные разряды с 16-го по 23-й бит, на зеленую со­ставляющую - с 8-го по 15-й бит, на синюю - с 0-го по 7-й бит. Ниже приведен при­мер применения такого конструктора:

int newRed = (0xff000000 | (0xc0 &lt;&lt; 16) | (0x00 &lt;&lt; 8) | 0x00);
Color darkRed = new Color(newRed);

И последний конструктор класса Color принимает три значения составляю­щих цвета в формате с плавающей точкой и в пределах от 0.0 до 1.0, обозначаю­щих относительные значения красной, зеленой и синей составляющих цвета.

Работа с цветом в JavaСоставив цвет с помощью одного из описанных выше конструкторов, можно воспользоваться им в качестве образца для установки цвета переднего плана и/или фона с помощью методов setForeground() и setBackground(). Этот цвет можно также выбрать в качестве текущего для рисования.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *