Позвольте мне добавить префикс отказа от ответственности, что я ничего не понимаю, когда дело доходит до изображений / графики в целом, так что, возможно, мне не хватает фундаментального понимания чего-то здесь.
Я пытаюсь вставить изображение (game_image
) к моему базовому изображению (image
) с прозрачным оверлеем (overlay_image
) поверх, чтобы добавить затемнение текста.
Вот пример ожидаемого результата:
Вот пример того, что генерирует мой текущий код:
Здесь это мой текущий код:
from PIL import Image, ImageFont, ImageDraw
# base image sizing specific to Twitter recommended
base_image_size = (1600, 900)
base_image_mode = "RGBA"
base_image_background_color = (0, 52, 66)
image = Image.new(base_image_mode, base_image_size, base_image_background_color)
# game_image is the box art image on the left side of the card
game_image = Image.open("hunt.jpg")
image.paste(game_image)
# overlay_image is the darkened overlay over the left side of the card
overlay_image = Image.new(base_image_mode, base_image_size, (0, 0, 0))
overlay_image.putalpha(128)
# x position should be negative 50% of base canvas size
image.paste(overlay_image, (-800, 0), overlay_image)
image.save("test_image.png", format="PNG")
Вы можете видеть, что игровое изображение как бы наследует прозрачность от наложения. Я подозреваю, что это как-то связано с mask
, добавленным в мою пасту выше, но я попытался выяснить, что такое маскирование, и это выходит за рамки моего понимания в любом контексте, в котором я его нахожу.
Любая помощь в понимании Приветствуется, почему это происходит и / или как я могу решить эту проблему!