Главная » 2025 » Ноябрь » 21 » Класс UColor: основные методы
22:48
Класс UColor: основные методы

Класс UColor: основные методы

Класс UColor содержит следующие методы:

  • set_color(red, green, blue, opacity=255) — задает целочисленные значения красной, зеленой и синей составляющих цвета модели RGB. В качестве параметров указываются числа от 0 до 255. Необязательный параметр opacity задает степень непрозрачности цвета. Значение 0 соответствует прозрачному цвету, а значение 255 — полностью непрозрачному. Пример:
c = UColor()
c.set_color(0, 128, 0)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c = UColor()
c.set_color(0, 128, 0, 180)
print(c)
# UColor(red=0, green=128, blue=0, opacity=180)
  • set_rgba(<Кортеж или список>) — позволяет задать цвет в виде кортежа из 4-х целых чисел от 0 до 255 (red, green, blue, opacity). Параметр opacity определяет степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor()
c.set_rgba((0, 128, 0, 180))
print(c)
# UColor(red=0, green=128, blue=0, opacity=180)
c.set_rgba(URGBA.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • get_rgba() — возвращает кортеж из 4-х целых чисел от 0 до 255 (red, green, blue, opacity). Параметр opacity определяет степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor(10, 20, 30, 40)
print(c.get_rgba())          # (10, 20, 30, 40)
  • set_rgb(<Кортеж или список>) — позволяет указать цвет в виде кортежа из 3-х целых чисел от 0 до 255 (red, green, blue). Параметр opacity получит значение 255 — полностью непрозрачный. Пример:
c = UColor()
c.set_rgb((0, 128, 0))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c.set_rgb(URGB.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)

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

c = UColor()
c.set_rgb((0, 128, 0, 123))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
c.set_rgb(URGBA.GREEN)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • get_rgb() — возвращает кортеж из 3-х целых чисел от 0 до 255 (red, green, blue). Пример:
c = UColor(10, 20, 30, 40)
print(c.get_rgb())          # (10, 20, 30)
  • set_red(<Красный>), set_green(<Зеленый>) и set_blue(<Синий>) — задают значения отдельных составляющих цвета. В качестве параметров указываются числа от 0 до 255. Пример;
c = UColor()
c.set_red(10)
c.set_green(20)
c.set_blue(30)
print(c)
# UColor(red=10, green=20, blue=30, opacity=255)
  • get_red(), get_green() и get_blue() — возвращают значения (от 0 до 255) компонентов цвета в цветовой модели RGB. Пример:
c = UColor(10, 20, 30, 40)
print(c.get_red())      # 10
print(c.get_green())    # 20
print(c.get_blue())     # 30
  • set_opacity(<Значение>) — задает степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor(10, 20, 30, 255)
c.set_opacity(40)
print(c)
# UColor(red=10, green=20, blue=30, opacity=40)
  • get_opacity() — возвращает степень непрозрачности (число от 0 до 255). Пример:
c = UColor(10, 20, 30, 40)
print(c.get_opacity())  # 40
  • get_opacity_float() — возвращает степень непрозрачности (вещественное число от 0.0 до 1.0). Пример:
c = UColor(255, 0, 0, 255)
print(c.get_opacity_float())  # 1.0
  • set_color_gray(gray, opacity=255) — устанавливает серый цвет Значение параметра gray указывается в виде целого числа от 0 (черный цвет) до 255 (белый цвет). Параметр opacity задает степень непрозрачности (значение 0 — полностью прозрачный цвет, а значение 255 — полностью непрозрачный). Пример:
c = UColor()
c.set_color_gray(128)
print(c)
# UColor(red=128, green=128, blue=128, opacity=255)
c.set_color_gray(128, opacity=12)
print(c)
# UColor(red=128, green=128, blue=128, opacity=12)
  • grayscale() — преобразует цвет в оттенки серого. Возвращает число от 0 до 255. Пример:
c = UColor(URGBA.GREEN)
print(c.grayscale())  # 75
  • set_color_hex(<Строка>) — позволяет указать цвет в виде строки, состоящей из шестнадцатеричных значений. Например: "#ffffff", "#fff". Метод возвращает True, если цвет успешно изменен, и False — в противном случае. Пример:
c = UColor()
print(c.set_color_hex("#fff"))    # True
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)
print(c.set_color_hex("#00ffff")) # True
print(c)
# UColor(red=0, green=255, blue=255, opacity=255)

Если строка содержит ошибки, то метод вернет False и цвет не изменится:

c = UColor("green")
print(c.set_color_hex("#fffps"))    # False
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • get_hex_rgb() — возвращает значение в виде строки, состоящей из шестнадцатеричных значений. Например: "#ffffff". Параметр opacity не учитывается. Пример:
c = UColor("white")
print(c.get_hex_rgb()) # #ffffff
  • get_hex_rgba() — возвращает значение в виде строки, состоящей из шестнадцатеричных значений. Например: "#ffffffff". Параметр opacity  учитывается. Пример:
c = UColor("green")
print(c.get_hex_rgba()) # #008000ff
  • set_color_name(<Строка>) — позволяет указать название цвета в виде строки. Метод возвращает True, если цвет успешно изменен, и False — в противном случае. Пример:
c = UColor()
print(c.set_color_name("green"))    # True
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
print(c.set_color_name("жёлтый"))   # True
print(c)
# UColor(red=255, green=255, blue=0, opacity=255)

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

c = UColor("green")
print(c.set_color_name("transparent"))    # True
print(c)
# UColor(red=0, green=0, blue=0, opacity=0)

Если цвет не найден, то метод вернет False и цвет не изменится:

c = UColor("green")
print(c.set_color_name("abc"))    # False
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • set_color_web(<Строка>) — позволяет указать характеристики цвета в виде строки. Метод возвращает True, если цвет успешно изменен, и False — в противном случае. Форматы метода:
set_color_web("Название цвета")
set_color_web("#RGB")
set_color_web("#RRGGBB")
set_color_web("#RRGGBBAA")
set_color_web("rgb(R, G, B)")
set_color_web("rgba(R, G, B, A)") # A - float
set_color_web("(R, G, B)")
set_color_web("(R, G, B, A)")     # A - int
set_color_web("R, G, B")
set_color_web("R, G, B, A")       # A - int

Пример указания названия цвета:

c = UColor()
print(c.set_color_web("green"))   # True
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
print(c.set_color_web("жёлтый"))  # True
print(c)
# UColor(red=255, green=255, blue=0, opacity=255)

Пример передачи шестнадцатеричного значения (в начале строки должен присутствовать символ #):

c = UColor()
print(c.set_color_web("#fff"))       # True
print(c)
# UColor(red=255, green=255, blue=255, opacity=255)
print(c.set_color_web("#ff0000"))    # True
print(c)
# UColor(red=255, green=0, blue=0, opacity=255)
print(c.set_color_web("#ffff0080"))  # True
print(c)
# UColor(red=255, green=255, blue=0, opacity=128)

Пример указания значений через запятую:

c = UColor()
print(c.set_color_web("rgb(255, 0, 0)"))       # True
print(c)
# UColor(red=255, green=0, blue=0, opacity=255)
print(c.set_color_web("rgba(255, 0, 255, 1.0)")) # True
print(c)
# UColor(red=255, green=0, blue=255, opacity=255)
print(c.set_color_web("(255, 255, 0)"))        # True
print(c)
# UColor(red=255, green=255, blue=0, opacity=255)
print(c.set_color_web("(255, 128, 0, 190)"))   # True
print(c)
# UColor(red=255, green=128, blue=0, opacity=190)
print(c.set_color_web("255, 255, 0"))          # True
print(c)
# UColor(red=255, green=255, blue=0, opacity=255)
print(c.set_color_web("255, 128, 0, 190"))     # True
print(c)
# UColor(red=255, green=128, blue=0, opacity=190)

Если цвет не найден или строка содержит ошибку, то метод вернет False и цвет не изменится:

c = UColor()
print(c.set_color_web("abc"))   # False
print(c)
# UColor(red=0, green=0, blue=0, opacity=255)
  • get_rgb_web() — возвращает строку с характеристиками цвета в формате RGB. Пример:
c = UColor(255, 0, 0, 255)
print(c.get_rgb_web())  # rgb(255,0,0)
  • get_rgba_web() — возвращает строку с характеристиками цвета в формате RGBA. Степень непрозрачности возвращается в виде вещественного числа от 0.0 до 1.0. Пример:
c = UColor(255, 0, 0, 255)
print(c.get_rgba_web())  # rgba(255,0,0,1.00)
  • set_color_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()
c.set_color_hsv( (0.0, 1.0, 1.0) )
print(c)
# UColor(red=255, green=0, blue=0, opacity=255)
  • set_hue(<Значение>), set_saturation(<Значение>) и set_brightness(<Значение>) — задают значения (от 0.0 до 1.0) компонентов цвета в цветовой модели HSV (HSB). Если нужно задать все значения, то лучше воспользоваться методом set_color_hsv(). Пример:
c = UColor("red")
print(c.get_hsv())        # (0.0, 1.0, 1.0)
c.set_hue(0.5)
print(c.get_hsv())        # (0.5, 1.0, 1.0)
c.set_saturation(0.5)
print(c.get_hsv())        # (0.5, 0.5019607843137255, 1.0)
c.set_brightness(0.5)
print(c.get_hsv())
# (0.5, 0.5039370078740157, 0.4980392156862745)
  • get_hsv() — возвращает кортеж из 3-х составляющих (hue, saturation, brightness) цветовой модели HSV (HSB). Пример:
c = UColor("red")
print(c.get_hsv()) # (0.0, 1.0, 1.0)
  • get_hue(), get_saturation() и get_brightness() — возвращают значения (от 0.0 до 1.0) компонентов цвета в цветовой модели HSV (HSB). Если нужно получить все значения, то лучше воспользоваться методом get_hsv(). Пример:
c = UColor("red")
print(c.get_hue())        # 0.0
print(c.get_saturation()) # 1.0
print(c.get_brightness()) # 1.0
  • set_int_argb(<Число>) — задает цвет на основе 4-х байтового целого числа, представляющего закодированный цвет. Пример:
c = UColor()
c.set_int_argb(4278222848)
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
  • get_int_argb() — возвращает 4-х байтовое целое число, представляющее закодированный цвет. Пример:
c = UColor("green")
print(c.get_int_argb()) # 4278222848
  • get_bytes_rgb() — возвращает байтовую строку из 3-х байтов, представляющую закодированный цвет без opacity. Пример:
c = UColor("green")
print(c.get_bytes_rgb())
# b'\x00\x80\x00'
  • get_bytes_rgba() — возвращает байтовую строку из 4-х байтов, представляющую закодированный цвет с opacity. Пример:
c = UColor("green")
print(c.get_bytes_rgba())
# b'\x00\x80\x00\xff'

Пример выполнения обратной операции:

c = UColor(list(b'\x00\x80\x00\xff'))
print(c)
# UColor(red=0, green=128, blue=0, opacity=255)
print(list(b'\x00\x80\x00\xff'))
# [0, 128, 0, 255]
  • set_ucolor(<UColor>) — задает цвет на основе другого объекта класса UColor. Пример:
c1 = UColor("green")
c2 = UColor()
c2.set_ucolor(c1)
print(c2)
# UColor(red=0, green=128, blue=0, opacity=255)
  • get_ucolor() — возвращает копию объекта. Пример:
c1 = UColor("green")
c2 = c1.get_ucolor()
print(c2)
# UColor(red=0, green=128, blue=0, opacity=255)
  • invert() — инвертирует цвет и возвращает новый объект. Пример:
c = UColor(255, 128, 0)
print(c.invert())
# UColor(red=0, green=127, blue=255, opacity=255)
  • interpolate(end_value, t) — создает промежуточные цвета между текущим цветом и цветом end_value в зависимости от значения параметра t (вещественное число от 0.0 до 1.0). Пример создания промежуточных цветов между черным и белым цветом:
b = UColor(0, 0, 0)
w = UColor(255, 255, 255)
print(b.interpolate(w, 0.2))
# UColor(red=51, green=51, blue=51, opacity=255)
print(b.interpolate(w, 0.5))
# UColor(red=127, green=127, blue=127, opacity=255)
print(b.interpolate(w, 0.8))
# UColor(red=204, green=204, blue=204, opacity=255)
print(b.interpolate(w, 1.0))
# UColor(red=255, green=255, blue=255, opacity=255)

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

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