Spec-Zone.ru › Pygame
pygame.Color
pygame object for color representations
Color(r, g, b) -> Color
Color(r, g, b, a=255) -> Color
Color(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

Тип возвращаемого значения

Color

Изменено в pygame 2.0.0: Поддержка кортежей, списков и объектов Color при создании объектов 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) -> None
update(r, g, b, a=255) -> None
update(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API