Шаг 180.
Библиотека PyQt5.
Работа с графикой. Вспомогательные классы. Класс QColor: цвет (окончание)
На этом шаге мы рассмотрим методы цветовых моделей HSV и HSL, а также методы преобразования моделей из одной в другую.
Задать или получить значения в цветовой модели HSV (Hue, Saturation, Value - оттенок, насыщенность, значение, она же яркость) позволяют следующие методы:
- setHsv (<Oттенок>, <Насыщенность>, <3начение>[, alpha=255]) - задает целочисленные значения составляющих цвета модели HSV.
В первом параметре указывается число от 0 до 359, а в остальных параметрах - числа от 0 до 255;
- fromHsv (<Oттенок>, <Насыщенность>, <3начение>[, alpha=255]) - возвращает экземпляр класса QColor с указанными значениями.
Метод является статическим. Пример:
white = QtGui.QColor.fromHsv(0, 0, 255, 255)
- getHsv () - возвращает кортеж из четырех целочисленных значений (<Oттенок>, <Насыщенность>, <3начение>, <Прозрачность>);
- hsvHue (), hsvSaturation (), value () и alpha () - возвращают целочисленные значения отдельных составляющих цвета;
- setHsvF (<Oттенок>, <Насыщенность>, <3начение>[, alpha=1.0]) - задает значения составляющих цвета модели HSV. В качестве
параметров указываются вещественные числа от 0.0 до 1.0;
- fromHsvF (<Oттенок>, <Насыщенность>, <3начение>[, alpha=1.0]) - возвращает экземпляр класса
QColor с указанными значениями. В качестве параметров указываются вещественные числа от 0.0 до 1.0. Метод является статическим. Пример:
white = QtGui.QColor.fromHsvF(0.0, 0.0, 1.0, 1.0)
- getHsvF () - возвращает кортеж из четырех вещественных значений (<Oттенок>, <Насыщенность>, <3начение>, <Прозрачность>);
- hsvHueF (), hsvSaturationF (), valueF () и alphaF () - возвращают вещественные значения отдельных составляющих цвета.
Цветовая модель HSL (Hue, Saturation, Lightness - оттенок, насыщенность, яркость) отличается от модели HSV только последней составляющей.
Описание этой модели и полный перечень методов для установки и получения значений вы найдете в соответствующей документации.
Для получения типа используемой модели и преобразования между моделями предназначены следующие методы:
- spec () - позволяет узнать тип используемой модели. Возвращает значение одного из следующих атрибутов, определенных в классе
QColor:
- Invalid (или 0),
- Rgb (или 1),
- Hsv (или 2),
- Cmyk (или 3) или
- Hsl (или 4);
- convertTo (<Тип модели>) - преобразует тип модели. В качестве параметра указываются атрибуты, которые приведены в описании метода spec(). Метод возвращает новый
объект. Пример преобразования:
whiteHSV = QtGui.QColor.fromHsv(0, 0, 255)
whiteRGB = whiteHSV.convertTo(QtGui.QColor.Rgb)
Вместо метода convertTo() удобнее воспользоваться методами toRgb(), toCmyk(), toHsv() или toHsl(),
которые возвращают новый объект. Пример:
whiteHSV = QtGui.QColor.fromHsv(0, 0, 255)
whiteRGB = whiteHSV.toRgb()
На следующем шаге мы рассмотрим класс QPen.
Предыдущий шаг
Содержание
Следующий шаг