Измените свой код на
icon = pygame.image.load('icon.png')
icon = pygame.transform.scale(icon, (32, 32))
surface= pygame.Surface(icon.get_size())
key = (0,255,0)
surface.fill(key)
surface.set_colorkey(key)
surface.blit(icon, (0,0))
pygame.display.set_icon(surface)
Обратите внимание на изменения:
Я удалил surface.set_alpha(128)
, так как он не будет работать.Для значков поддерживается только цветовой ключ, но не для каждого пикселя альфа.
Я изменил surface.fill(key, surface.get_rect())
на surface.fill(key)
, потому что передача surface.get_rect()
в качестве аргумента не нужна.
Кроме того, строкаicon = pygame.transform.scale(icon, (32, 32))
было добавлено, чтобы гарантировать, что изображение имеет правильный размер.Большие размеры часто не работают (в зависимости от вашей ОС / оконного менеджера).