gpt4 book ai didi

python - 为什么我的图像中的透明度会变黑,我该如何去除它?

转载 作者:行者123 更新时间:2023-12-04 14:03:21 33 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to make a surface with a transparent background in pygame

(3 个回答)


上个月关闭。




我正在将一个部分透明的图像加载到 pygame 中并按以下方式裁剪它:

img = pygame.image.load(image_url).convert_alpha()
cropped_img = pygame.Surface((100, 100)).convert_alpha()
cropped_img.blit(img, (0, 0))
图像的透明部分显示为黑色。 set_colorkey((0, 0, 0)) 使黑色透明,但它也使图像中的黑色透明。我如何才能摆脱透明度导致的黑色?

最佳答案

线

cropped_img = pygame.Surface((100, 100)).convert_alpha()

不会创建透明图像。 pygame.Surface((100, 100))生成全黑图像。 convert_alpha()不会改变这一点。如果您创建一个新曲面并使用 convert_alpha() ,Alpha channel 最初设置为最大值。像素的初始值为 (0, 0, 0, 255)
如果要创建透明图像,您有 2 个选项。使用 pygame.Surface.set_colorkey 设置黑色键, 在转换 Surface 的格式之前:
cropped_img = pygame.Surface((100, 100))
cropped_img.set_colorkey(0)
cropped_img = cropped_img.convert_alpha()
或使用 SRCALPHA 标志以创建具有每像素 alpha 格式的 Surface。
cropped_img = pygame.Surface((100, 100), pygame.SRCALPHA)
最终代码:
img = pygame.image.load(image_url).convert_alpha()
cropped_img = pygame.Surface((100, 100), pygame.SRCALPHA)
cropped_img.blit(img, (0, 0))

关于python - 为什么我的图像中的透明度会变黑,我该如何去除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69290193/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com