Я очень новичок в Python и изучаю его, чтобы пользователи могли создавать пользовательские изображения. Идея заключается в том, что клиент будет выбирать несколько параметров, и изображение будет создано на сервере, а затем загружено (или используется для других вещей на стороне сервера).
Изображение состоит из множества изображений, большинство из которых представляют собой небольшие изображения типов изображений, которые имеют неправильную форму и имеют прозрачность. Все слои являются .png
файлами.
Я пытался использовать Pillow, но кажется, что изображение должно быть того же размера, что и общее изображение, чтобы правильно использовать прозрачность верхних слоев.
Вот что я пробовал до сих пор:
from PIL import Image
background = Image.open("Background.png")
foreground = Image.open("Trim.png")
fire = Image.open("Type_Fire_Large.png")
background = Image.alpha_composite(background, foreground)
background.paste(fire, (150, 150))
background.show()
Изображение выглядит так:
Background.png
- затененный "шум", а Trim.png
- серая диагональная линия. Наилучшая часть: Trim.png
имеет центр прозрачности и может показывать Background.png
посередине. Но он также того же размера, что и изображение.
Проблема Fire
; обратите внимание, как theres, что черная граница (и нечетная точка фуксии). В документации указано, что оверлейное изображение должно быть одного размера. Но это похоже на общий сценарий, когда кто-то захочет разместить меньшую иконку с прозрачностью поверх другого изображения и составить их на одно изображение.
Я не привязан к какой-либо конкретной библиотеке, я широко открыт для идей и альтернатив. Единственное, что я пытаюсь сделать, это просто, так что создание всего игрового движка и т.п. Для создания изображения, вероятно, будет слишком большим.