Jump to content

Erro no pygame image.set_colorkey


icemonster2
 Share

Recommended Posts

Boas, é o seguinte:

Tinha várias imagens de 300x300 mas queria que ficassem todas de metade do tamanho. Então em cada uma dela, cliquei em editar para editar a imagem no paint e redimensionei para 150x150... O que aconteçeu é que depois disso, o programa já não pareçe estar a conseguir pôr a parte branca da imagem, transparente.

Eis algum código:

image = pygame.image.load("imagem.png")
image.get_at((0,0))
>>> (255,255,255,255)
image.set_colorkey((255,255,255))
image.get_colorkey()
>>> (255,255,255,255)
screen = pygame.image.set_mode((500,500))
while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
    screen.fill((0,0,0))
    screen.blit(imagem,(0,0))
    pygame.display.flip()

E apareçe a imagem com o fundo branco e não transparente

Edited by thoga31
GeSHi
Link to comment
Share on other sites

Provavelmente acontece porque o paint não assumiu o branco como transparência e sim como uma cor e por esse motivo o canal alpha (o quarto elemento da tupla no teu código) está a 100 % (255).

Provavelmente há uma maneira de fazer isto no Paint mas eu desconheço. Experimenta usar outro software como o Inkscape (http://www.inkscape.org/pt/) para editares as tuas imagens. O Gimp (http://www.gimp.org/) ainda é mais conhecido mas não sei mexer nele (é considerado uma alternativa ao photoshop). Outra opçao se tiveres em ambiente windows e tiveres acesso ao office é a ferramenta de edição de imagens (cujo o nome não me recordo). Para acederes à mesma abre a imagem em windows e carrega em "Open" na toolbar de cima (deverá estar ao lado de "Burn") e escolhe o dito software (o Paint também deverá aparecer nessa lista).

De qualquer das maneiras é quase garantido que o problema não é código mas sim das imagens. Já agora o pygame e a esmagadora maioria dos software que lida com imagem não assume o branco como sendo transparência. A transparência é sempre, até ordem em contrário, dada pelo canal alpha.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.