Главная » 2025 » Ноябрь » 21 » Класс UColor: цвет в формате RGBA
22:40
Класс UColor: цвет в формате RGBA

Класс UColor: цвет в формате RGBA

Класс UColor описывает цвет в формате RGBA (значения от 0 до 255). Инструкция импорта:

from unicross_image.ucolor import UColor, URGBA, URGB

Конструкторы класса UColor:

UColor()
UColor(red, green, blue)
UColor(red, green, blue, opacity)
UColor(<Кортеж или список rgb>)
UColor(<Кортеж или список rgba>)
UColor(<Строка hex>)
UColor(<Название цвета>)

Первый конструктор создает объект с черным цветом:

c = UColor()
print(c)       # UColor(red=0, green=0, blue=0, opacity=255)
print(repr(c)) # (0, 0, 0, 255)

Во втором и третьем конструкторах в качестве значений указывается целое число от 0 до 255. В параметрах red, green и blue значение задает долю красной, зеленой и синей составляющих цвета соответственно. Параметр opacity задает степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Если параметр opacity не указан, то он получит значение 255. Пример указания синего цвета:

c = UColor(0, 0, 255)
print(c)
# UColor(red=0, green=0, blue=255, opacity=255)
c = UColor(0, 0, 255, 255)
print(c)
# UColor(red=0, green=0, blue=255, opacity=255)

В четвертом и пятом конструкторах в качестве значений указывается кортеж или список из 3-х (red, green, blue) или 4-х (red, green, blue, opacity) целых чисел от 0 до 255. Если четвертый параметр не указан, то opacity получит значение 255. Пример указания синего цвета:

c = UColor((0, 0, 255))
print(c)
# UColor(red=0, green=0, blue=255, opacity=255)
c = UColor((0, 0, 255, 255))
print(c)
# UColor(red=0, green=0, blue=255, opacity=255)
c = UColor(URGBA.BLUE)
print(c)
# UColor(red=0, green=0, blue=255, opacity=255)

Шестой конструктор позволяет указать цвет в виде строки, состоящей из шестнадцатеричных значений. Строка должна начинаться с символа #, например: "#ffffff", "#fff". Пример указания белого цвета:

c = UColor("#fff")
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)
c = UColor("#ffffff")
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)
c = UColor("#ffffffff")
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)

Если строка содержит ошибки, то объект будет черного цвета:

c = UColor("#fffps")
print(c)
# UColor(red=0, green=0, blue=0, opacity=255)

Седьмой конструктор позволяет указать название цвета в виде строки. Регистр символов не имеет значения. Если цвет с таким названием не найден, то объект будет черного цвета. Пример указания зеленого цвета:

c = UColor("green")
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor("зелёный")
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)

Пример указания прозрачного цвета:

c = UColor("transparent")
print(c)
# UColor(red=0, green=0, blue=0, opacity=0)
c = UColor("прозрачный")
print(c)
# UColor(red=0, green=0, blue=0, opacity=0)

Создать объект цвета позволяют также следующие статические методы из класса UColor:

  • from_rgba(<Кортеж или список>) — позволяет указать цвет в виде кортежа из 4-х целых чисел от 0 до 255 (red, green, blue, opacity). Параметр opacity определяет степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor.from_rgba((0, 128, 0, 255))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor.from_rgba(URGBA.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • from_rgb(<Кортеж или список>) — позволяет указать цвет в виде кортежа из 3-х целых чисел от 0 до 255 (red, green, blue). Параметр opacity получит значение 255 — полностью непрозрачный. Пример:
c = UColor.from_rgb((0, 128, 0))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor.from_rgb(URGB.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)

Можно передать кортеж из 4-х элементов, но четвертый элемент игнорируется:

c = UColor.from_rgb((0, 128, 0, 123))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor.from_rgb(URGBA.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • from_hex(<Строка>) — позволяет указать цвет в виде строки, состоящей из шестнадцатеричных значений. Например: "#ffffff", "#fff". Пример:
c = UColor.from_hex("#fff")
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)
c = UColor.from_hex("#ffffff")
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)

Если строка содержит ошибки, то объект будет черного цвета:

c = UColor.from_hex("#fffps")
print(c)
# UColor(red=0, green=0, blue=0, opacity=255)
  • from_name(<Строка>) — позволяет указать название цвета в виде строки. Пример:
c = UColor.from_name("green")
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor.from_name("зелёный")
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)

Пример указания прозрачного цвета:

c = UColor.from_name("transparent")
print(c)
# UColor(red=0, green=0, blue=0, opacity=0)
c = UColor.from_name("прозрачный")
print(c)
# UColor(red=0, green=0, blue=0, opacity=0)

Если цвет не найден, то объект будет содержать черный цвет:

c = UColor.from_name("abc")
print(c)
# UColor(red=0, green=0, blue=0, opacity=255)
  • from_gray(gray, opacity=255) — создает серый цвет. Значение параметра gray указывается в виде целого числа от 0 (черный цвет) до 255 (белый цвет).  Параметр opacity определяет степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor.from_gray(128)
print(c)
# UColor(red=128, green=128, blue=128, opacity=255)
c = UColor.from_gray(128, 50)
print(c)
# UColor(red=128, green=128, blue=128, opacity=50)
  • from_hsv(<Кортеж>) — создает объект цвета на основе кортежа из 3-х составляющих (hue, saturation, brightness) цветовой модели HSV (HSB). Параметр hue (значение от 0.0 до 1.0) задает цветовой тон, параметр saturation (значение от 0.0 до 1.0) — насыщенность, параметр brightness (значение от 0.0 до 1.0) — яркость. Параметр opacity получит значение 255 — полностью непрозрачный. Пример:
c = UColor.from_hsv((0.0, 1.0, 1.0))
print(c)
# UColor(red=255, green=0, blue=0, opacity=255)
  • from_ucolor(<UColor>) — создает объект цвета на основе другого объекта класса UColor. Пример:
c1 = UColor(0, 128, 0)
c2 = UColor.from_ucolor(c1)
print(c2)
# UColor(red=0, green=128, blue=0, opacity=255)

Сравнение объектов

Сравнить два объекта UColor можно с помощью операторов == и !=:

c1 = UColor(255, 128, 0)
c2 = UColor(255, 128, 0)
c3 = UColor(255, 128, 10)
print(c1 == c2)  # True
print(c1 == c3)  # False

print(c1 != c2)  # False
print(c1 != c3)  # True

Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage

Категория: UImage | Просмотров: 6 | Добавил: unicross | Теги: UImage, UColor | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [10]
Списки слов и словари
OCR [4]
Оптическое распознавание символов
UImage [18]
Графическая библиотека для Python
Программы [4]
Полезные программы
Прочее [3]
Другие темы
Календарь
«  Ноябрь 2025  »
Пн Вт Ср Чт Пт Сб Вс
     12
3456789
10111213141516
17181920212223
24252627282930
Архив записей