Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将png图像用作游戏时,设置_alpha()不起作用_Python_Image_Pygame_Photoshop - Fatal编程技术网

Python 将png图像用作游戏时,设置_alpha()不起作用

Python 将png图像用作游戏时,设置_alpha()不起作用,python,image,pygame,photoshop,Python,Image,Pygame,Photoshop,游戏结束后,我想在上面放一张图片。但我不想让它覆盖游戏表面,所以我希望在加载和convert_alpha()后可以设置png图像的透明度。但是在我使用set\u alpha(0)之后,它就不起作用了 我能想到的问题是: 我的png图像没有alpha通道,所以我在photoshop中检查了它。它是rgb,不是rgba,所以我如何为它添加alpha通道,这意味着将rgb转换为rgba (注意:我可以在photoshop中更改图像的透明度,并在我的pygame中使用它,它可以工作,但我想我可以随时在我

游戏结束后,我想在上面放一张图片。但我不想让它覆盖游戏表面,所以我希望在加载和
convert_alpha()
后可以设置png图像的透明度。但是在我使用
set\u alpha(0)
之后,它就不起作用了

我能想到的问题是:

  • 我的png图像没有alpha通道,所以我在photoshop中检查了它。它是rgb,不是rgba,所以我如何为它添加alpha通道,这意味着将rgb转换为rgba
  • (注意:我可以在photoshop中更改图像的透明度,并在我的pygame中使用它,它可以工作,但我想我可以随时在我的程序中更改透明度,而不仅仅是使用photoshop)

  • 我的pygame方法使用错误
  • png图像:

    我想要的结果是:

    (请忽略中国人,他们只是另外两张图片):

    代码是:

    img_bg = pygame.image.load('./ui/background.png').convert_alpha()
    img_bg.set_alpha(0)
    screen.blit(img_bg, (0, 0))  
    
    不适用于使用每像素alpha的曲面,因此请使用
    convert
    方法,而不是
    convert\u alpha
    。我将该值更改为
    70
    ,因为
    0
    将使图像完全透明

    img_bg = pygame.image.load('./ui/background.png').convert()
    img_bg.set_alpha(70)
    

    不客气。顺便说一句,也可以设置每像素alpha曲面的透明度,但这更复杂。我想我已经在别处回答过了。