set_colorkey不会取出背景颜色(python)

时间:2017-08-13 19:38:45

标签: python pygame

我最近问了一个关于blitting和在python中使用set_colorkey功能的问题。我得到了改变的答案

hg = pygame.image.load('hgfinalredbg.jpg').set_colorkey(red)

hg = pygame.image.load('hgfinalredbg.jpg')
hg.set_colorkey(red)

但是,当我运行程序时,hgfinalredbg.jpg的红色背景不会消失。难道我做错了什么?我已经确定我的程序的红色定义和图片的背景都是(255,0,0)。另外,如果您需要更多代码行来帮助我,请与我们联系。 这是一些代码:

import pygame
pygame.init()
white = (255,255,255)
WINDOWHEIGHT = 720
WINDOWWIDTH = 1280
windowSurface = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT), 0, 32)
windowSurface.fill(white)
pygame.display.update()
red = (255,0,0)
hgbox = pygame.Rect(0 ,13 ,36 ,72)
hg = pygame.image.load('hgfinalredbg.jpg')
hg.set_colorkey(red)
windowSurface.blit(hg, hgbox)
pygame.display.update()

Here is the picture.

以下是hgfinalredbg.jpg

1 个答案:

答案 0 :(得分:2)

问题是图像中的红色大多数值为(254, 0, 0)而不是(255, 0, 0),所以最好清理图像并将其保存为.png,因为png是无损格式的问题可能来自.jpg文件的压缩。