UImage: добавление внешней или внутренней тени
Добавить внешнюю тень к изображению позволяет статический метод shadow_im() из класса UImageChange. Формат метода:
UImageChange.shadow_im(<UImage>, shcolor=UColor("black"),
percent_opacity=50, sigma=3, x=5, y=5, bgcolor=None)
В качестве первого параметра указывается объект UImage. В параметре shcolor можно указать цвет тени в виде объекта UColor (значение альфа-канала игнорируется). Если параметр не указан, то тень будет черного цвета. Прозрачность тени задается в параметре percent_opacity (в процентах). Параметр sigma задает коэффициент для эффекта размытия тени. В параметре x можно указать горизонтальное смещение тени. Параметр y задает вертикальное смещение тени. В параметре bgcolor можно указать цвет фона в виде объекта UColor . Если параметр не указан, то фон будет прозрачным. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример добавления внешней тени:
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.shadow_im(img, shcolor=UColor("black"),
percent_opacity=50, sigma=3, x=5, y=5,
bgcolor=UColor("white"))
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавить внутреннюю тень к изображению позволяет статический метод inner_shadow_im() из класса UImageChange. Формат метода:
UImageChange.inner_shadow_im(<UImage>, shcolor=UColor("black"),
sigma=8)
В качестве первого параметра указывается объект UImage. В параметре shcolor можно указать цвет тени в виде объекта UColor (значение альфа-канала игнорируется). Если параметр не указан, то тень будет черного цвета. Параметр sigma задает коэффициент для эффекта размытия тени. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример добавления внутренней тени:
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.inner_shadow_im(img, shcolor=UColor("black"),
sigma=8)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage