让我先声明一句,我对图像/图形都不了解,所以我可能对这里的某些东西缺乏基本的理解
我正在尝试将一个图像(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
有关,但我试着研究掩蔽是什么&;在任何情况下,我都无法理解它
如果您能帮助我理解为什么会发生这种情况和/或如何解决,我们将不胜感激
你是超级接近。。。您只需要使用
Image.alpha_composite
而不是paste
。因此,代码的最后两行应该是:相关问题 更多 >
编程相关推荐