Главная » 2025 » Декабрь » 10 » UImage: замена цвета
21:11
UImage: замена цвета

UImage: замена цвета

Сделать какой-либо цвет на изображении прозрачным позволяет статический метод transparent_im() из класса UImageChange. Формат метода:

UImageChange.transparent_im(<UImage>, color, distance=0)

В качестве первого параметра указывается объект UImage. Параметр color задает цвет, который будет заменен прозрачным цветом, в виде объекта UColor. Указав в параметре distance процент схожести от 1 до 30 можно заменить также оттенки цвета. Значение 0 задает точный цвет. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. В этом примере прозрачными станут и красный прямоугольник, и бордовый квадрат:

from unicross_image.uhelper import URect
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange

img = UImage(300, 200, UColor("green"))
img = UImageChange.fill_rect(img, UColor("red"),
                             URect(50, 50, 200, 100))
img = UImageChange.fill_rect(img, UColor("red").darker(),
                             URect(10, 10, 50, 50))
img2 = UImageChange.transparent_im(img, UColor("red"), distance=9)
if img2:
    print(img2)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Заменить какой-либо цвет другим цветом позволяет статический метод replace_color_im() из класса UImageChange. Формат метода:

UImageChange.replace_color_im(<UImage>, color, fill_color, distance=0)

В качестве первого параметра указывается объект UImage. Параметр color задает цвет, который будет заменен цветом fill_color. Цвета задаются в виде объектов UColor. Указав в параметре distance процент схожести от 1 до 30 можно заменить также оттенки цвета. Значение 0 задает точный цвет. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. В этом примере синими станут и красный прямоугольник, и бордовый квадрат:

from unicross_image.uhelper import URect
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange

img = UImage(300, 200, UColor("green"))
img = UImageChange.fill_rect(img, UColor("red"),
                             URect(50, 50, 200, 100))
img = UImageChange.fill_rect(img, UColor("red").darker(),
                             URect(10, 10, 50, 50))
img2 = UImageChange.replace_color_im(img, UColor("red"),
                                     UColor("blue"), distance=9)
if img2:
    print(img2)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

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

Категория: UImage | Просмотров: 9 | Добавил: unicross | Теги: PIL, Python, ImageMagick, UImage | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [10]
Списки слов и словари
OCR [4]
Оптическое распознавание символов
UImage [80]
Графическая библиотека для Python
UImage C [7]
Графическая библиотека для Python
Программы [4]
Полезные программы
Прочее [3]
Другие темы
Календарь
«  Декабрь 2025  »
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
293031