UImage: добавление рамки вокруг изображения или с одной стороны
Добавить рамку вокруг изображения позволяет статический метод border_im() из класса UImageChange. Формат метода:
UImageChange.border_im(<UImage>, size=5,
bordercolor=UColor("gray"),
bgcolor=UColor("white"))
В качестве первого параметра указывается объект UImage. Толщина рамки задается во втором параметре (по умолчанию рисуется рамка толщиной 5px). В параметре bordercolor можно указать цвет рамки в виде объекта UColor. Если параметр не указан, то рамка будет серого цвета. В параметре bgcolor можно задать цвет фона в виде объекта UColor. Если параметр не указан, то фон будет белым. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример добавления рамки черного цвета толщиной 3px:
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.border_im(img, size=3,
bordercolor=UColor("black"),
bgcolor=UColor("white"))
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавить рамку сверху или снизу изображения позволяет статический метод splice_im() из класса UImageChange. Формат метода:
UImageChange.splice_im(<UImage>, height=50, top=False,
bgcolor=UColor("black"))
В качестве первого параметра указывается объект UImage. Толщина рамки задается во втором параметре (по умолчанию рисуется рамка толщиной 50px). Если в параметре top указано значение True, то рамка будет нарисована сверху. По умолчанию рамка рисуется снизу изображения. В параметре bgcolor можно задать цвет фона в виде объекта UColor. Если параметр не указан, то фон будет черным. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример добавления рамки зеленого цвета толщиной 100px сверху изображения:
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.splice_im(img, height=100, top=True,
bgcolor=UColor("green"))
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавить выпуклую или вогнутую рамку вокруг изображения позволяет статический метод border_3d_im() из класса UImageChange. Формат метода:
UImageChange.border_3d_im(<UImage>, size=5, raised=True)
В качестве первого параметра указывается объект UImage. Толщина рамки задается во втором параметре (по умолчанию рисуется рамка толщиной 5px). Рамка рисуется внутри изображения, поэтому размер изображения не изменяется. Если в параметре raised указано значение False, то рамка будет нарисована вогнутой. По умолчанию рамка рисуется выпуклой. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример добавления вогнутой рамки черного цвета толщиной 10px:
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.border_3d_im(img, size=10, raised=False)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавить рамку вокруг изображения и повернуть его на некоторый угол (создать эффект Поляроида) позволяет статический метод polaroid_im() из класса UImageChange. Формат метода:
UImageChange.polaroid_im(<UImage>, angle=0,
bordercolor=UColor("gray"),
shadowcolor=UColor("white"))
В качестве первого параметра указывается объект UImage. Угол поворота (от -45 до 45 градусов) задается во втором параметре (по умолчанию угол поворота выбирается случайным образом). Вращение выполняется по часовой стрелке. В параметре bordercolor можно указать цвет рамки в виде объекта UColor. Если параметр не указан, то рамка будет серого цвета. В параметре shadowcolor можно задать цвет фона для тени в виде объекта 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.polaroid_im(img, angle=-5,
bordercolor=UColor("green"),
shadowcolor=UColor("red"))
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавить овальную рамку вокруг изображения позволяет статический метод vignette_im() из класса UImageChange. Формат метода:
UImageChange.vignette_im(<UImage>, vcolor=UColor("transparent"),
radius=0, sigma=3, x=5, y=5)
В качестве первого параметра указывается объект UImage. В параметре vcolor можно указать цвет рамки в виде объекта UColor. Если параметр не указан, то рамка будет прозрачной. Параметры radius и sigma задают коэффициенты для эффекта размытия границы рамки. В параметре x можно указать горизонтальное смещение внутрь изображения. Параметр y задает вертикальное смещение внутрь изображения. Метод возвращает объект 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.vignette_im(img, vcolor=UColor("green"),
radius=0, sigma=3, x=5, y=5)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage