- pygame.Color
-
pygame object for color representationsColor(r, g, b) -> ColorColor(r, g, b, a=255) -> ColorColor(color_value) -> Color
Класс
Colorпредставляет цветовые значенияRGBAв диапазоне от 0 до 255 включительно. Он позволяет выполнять базовые арифметические операции — бинарные операции+,-,*,//,%, и унарную операцию~— для создания новых цветов, поддерживает преобразования в другие цветовые пространства, такие какHSVилиHSL, и позволяет изменять отдельные цветовые каналы. Значение альфа по умолчанию равно 255 (полностью непрозрачный), если не указано иное. Арифметические операции и методcorrect_gamma()сохраняют подклассы. Для бинарных операторов класс возвращаемого цвета соответствует классу объекта цвета левой части оператора.Объекты Color поддерживают сравнение на равенство с другими объектами Color и кортежами или списками из 3 или 4 целых чисел. В pygame 1.8.1 была ошибка, из-за которой значение альфа по умолчанию было 0, а не 255, как раньше.
Объекты Color экспортируют интерфейс массива на уровне C. Этот интерфейс экспортирует одномерный массив беззнаковых байтов для чтения, длина которого соответствует длине цвета. Также экспортируется новый интерфейс буфера с теми же характеристиками, что и интерфейс массива.
Операции целочисленного деления,
//, и остатка от деления,%, не генерируют исключение при делении на ноль. Вместо этого, если значение канала цвета или альфа-канала в цвете правой части оператора равно 0, то результат равен 0. Например:# These expressions are True Color(255, 255, 255, 255) // Color(0, 64, 64, 64) == Color(0, 3, 3, 3) Color(255, 255, 255, 255) % Color(64, 64, 64, 0) == Color(63, 63, 63, 0)
Используйте
int(color)для возвращения неизменяемого целочисленного значения цвета, которое можно использовать в качествеdictключа. Это целое число отличается от значений сопоставленных пикселейpygame.Surface.get_at_mapped(),pygame.Surface.map_rgb()иpygame.Surface.unmap_rgb(). Его можно передать в качестве параметраcolor_valueметодуColor(полезно при работе с наборами).См. Названные цвета для примеров доступных названных цветов.
- Параметры
-
r (int) -- значение красного цвета в диапазоне от 0 до 255 включительно
g (int) -- значение зеленого цвета в диапазоне от 0 до 255 включительно
b (int) -- значение синего цвета в диапазоне от 0 до 255 включительно
a (int) -- (необязательно) значение альфа-канала в диапазоне от 0 до 255 включительно, по умолчанию равно 255
-
color_value (Color или str или int или tuple(int, int, int, [int]) или list(int, int, int, [int])) --
значение цвета (подробнее о поддерживаемых форматах см. ниже)
Примечание
- Поддерживаемые форматы color_value:
-
- Объект Color: клонирует данный объект
Color- Имя цвета: str: имя цвета для использования, например,'red'(все поддерживаемые имена можно найти в Названные цвета с примерами образцов)- Формат цвета HTML (str):'#rrggbbaa'или'#rrggbb', где rr, gg, bb и aa являются 2-значными шестнадцатеричными числами в диапазоне от 0 до 0xFF включительно, значение aa (альфа) по умолчанию равно 0xFF, если не указано- Шестнадцатеричное число (str):'0xrrggbbaa'или'0xrrggbb', где rr, gg, bb и aa являются 2-значными шестнадцатеричными числами в диапазоне от 0x00 до 0xFF включительно, значение aa (альфа) по умолчанию равно 0xFF, если не указано- Целое число (int): целое значение цвета для использования, использование шестнадцатеричных чисел может сделать этот параметр более читаемым, например,0xrrggbbaa, где rr, gg, bb и aa являются 2-значными шестнадцатеричными числами в диапазоне от 0x00 до 0xFF включительно, обратите внимание, что значение aa (альфа) не является необязательным для формата int и должно быть указано- Кортеж/список значений цвета (int):(R, G, B, A)или(R, G, B), где R, G, B и A — целые значения в диапазоне от 0 до 255 включительно, значение A (альфа) по умолчанию равно 255, если не указано
- Возвращаемое значение
-
новый созданный объект
Color - Тип возвращаемого значения
Изменено в pygame 1.9.2: Объекты Color экспортируют интерфейс массива на уровне C.
Изменено в pygame 1.9.0: Объекты Color поддерживают 4-элементные кортежи целых чисел.
Изменено в pygame 1.8.1: Новая реализация класса.
- r
-
Возвращает или устанавливает значение красного цвета Color.r -> int
Значение красного цвета Color.
- g
-
Возвращает или устанавливает значение зеленого цвета Color.g -> int
Значение зеленого цвета Color.
- b
-
Возвращает или устанавливает значение синего цвета Color.b -> int
Значение синего цвета Color.
- a
-
Возвращает или устанавливает значение альфа-канала Color.a -> int
Значение альфа-канала Color.
- cmy
-
Возвращает или устанавливает представление CMY цвета Color.cmy -> tuple
Представление цвета Color в цветовом пространстве CMY. Компоненты CMY находятся в диапазонах
C= [0, 1],M= [0, 1],Y= [0, 1]. Обратите внимание, что это не даст абсолютно точных значенийCMYдля установленных значенийRGBво всех случаях. Из-за преобразования из 0-255 в 0-1 и обратно могут быть небольшие погрешности, из-за которых значенияCMYмогут немного отличаться от ожидаемых.
- hsva
-
Возвращает или устанавливает представление HSVA цвета Color.hsva -> tuple
Представление цвета Color в цветовом пространстве HSVA. Компоненты HSVA находятся в диапазонах
H= [0, 360],S= [0, 100],V= [0, 100], A = [0, 100]. Обратите внимание, что это не даст абсолютно точных значенийHSVдля установленных значенийRGBво всех случаях. Из-за преобразования из 0-255 в 0-100 и 0-360 могут быть небольшие погрешности, из-за которых значенияHSVмогут немного отличаться от ожидаемых.
- hsla
-
Возвращает или устанавливает представление HSLA цвета Color.hsla -> tuple
Представление цвета Color в цветовом пространстве HSLA. Компоненты HSLA находятся в диапазонах
H= [0, 360],S= [0, 100],L= [0, 100], A = [0, 100]. Обратите внимание, что это не даст абсолютно точных значенийHSLдля установленных значенийRGBво всех случаях. Из-за преобразования из 0-255 в 0-100 и 0-360 могут быть небольшие погрешности, из-за которых значенияHSLмогут немного отличаться от ожидаемых.
- i1i2i3
-
Возвращает или устанавливает представление I1I2I3 цвета Color.i1i2i3 -> tuple
Представление цвета Color в цветовом пространстве I1I2I3. Компоненты I1I2I3 находятся в диапазонах
I1= [0, 1],I2= [-0.5, 0.5],I3= [-0.5, 0.5]. Обратите внимание, что это не даст абсолютно точных значенийI1I2I3для установленных значенийRGBво всех случаях. Из-за преобразования из 0-255 в 0-1 могут быть небольшие погрешности, из-за которых значенияI1I2I3могут немного отличаться от ожидаемых.
- normalize()
-
Возвращает нормализованные значения RGBA цвета.normalize() -> tuple
Возвращает нормализованные
RGBAзначения цвета в виде значений с плавающей точкой.
- correct_gamma()
-
Применяет определенное значение гаммы к цвету.correct_gamma (gamma) -> Color
Применяет определенное значение гаммы к цвету и возвращает новый цвет с измененными
RGBAзначениями.
- set_length()
-
Устанавливает количество элементов в цвете до 1, 2, 3 или 4.set_length(len) -> None
УСТАРЕЛО: Вы можете распаковать необходимые значения так:
r, g, b, _ = pygame.Color(100, 100, 100)Если вам нужны только r, g и b Илиr, g, *_ = pygame.Color(100, 100, 100)если вам нужны только r и gПо умолчанию длина цвета составляет 4. Цвета могут иметь длину 1, 2, 3 или 4. Это полезно, если вы хотите распаковать значения до r, g, b, а не r, g, b, a. Если вы хотите получить длину цвета, сделайте
len(acolor).Устарело начиная с pygame 2.1.3.
Добавлена в pygame 1.9.0.
- grayscale()
-
возвращает оттенок серого цветаgrayscale() -> Color
Возвращает цвет, который представляет собой оттенок серого варианта self, используя формулу яркости, которая взвешивает красный, зелёный и синий цвета в соответствии с их длинами волн.
- lerp()
-
возвращает линейную интерполяцию до заданного цвета.lerp(Color, float) -> Color
Возвращает цвет, который является линейной интерполяцией между self и заданным цветом в пространстве RGBA. Второй параметр определяет, насколько результат будет находиться между self и other. Он должен быть значением от 0 до 1, где 0 означает self, а 1 означает other будет возвращено.
Добавлена в pygame 2.0.1.
- premul_alpha()
-
возвращает цвет, где компоненты r, g, b были умножены на альфа.premul_alpha() -> Color
Возвращает новый цвет, где каждый из каналов красного, зеленого и синего цветов был умножен на альфа-канал исходного цвета. Альфа-канал остается неизменным.
Это полезно при работе со флагом режима смешивания
BLEND_PREMULTIPLIEDдляpygame.Surface.blit(), который предполагает, что все поверхности, использующие его, используют цвета с предварительно умноженной альфой.Добавлена в pygame 2.0.0.
- update()
-
Устанавливает элементы цветаupdate(r, g, b) -> Noneupdate(r, g, b, a=255) -> Noneupdate(color_value) -> None
Устанавливает элементы цвета. Смотрите параметры для
pygame.Color()для параметров этой функции. Если значение альфа-канала не было установлено, оно не изменится.Добавлена в pygame 2.0.1.
Редактировать на GitHub
© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/color.html