Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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画布在pygame中浏览图片_Python_Image_Unicode_Pygame - Fatal编程技术网

Python 如何使PNG画布在pygame中浏览图片

Python 如何使PNG画布在pygame中浏览图片,python,image,unicode,pygame,Python,Image,Unicode,Pygame,我想将pawnPic切换到屏幕上,让背景“不可见”或“透明”。现在白色的帆布挡住了整个棋盘,所以看起来很糟糕。这是我使用的简短代码 FPS = 30 black = (0,0,0) white = (255, 255, 255) brown = (139, 69, 19) lBrown = (235, 188, 128) HEIGHT, WIDTH = 960, 960 game_display = pygame.display.set_mode((HEIGHT, WIDTH)) pygame

我想将
pawnPic
切换到屏幕上,让背景“不可见”或“透明”。现在白色的帆布挡住了整个棋盘,所以看起来很糟糕。这是我使用的简短代码


FPS = 30
black = (0,0,0)
white = (255, 255, 255)
brown = (139, 69, 19)
lBrown = (235, 188, 128)
HEIGHT, WIDTH = 960, 960
game_display = pygame.display.set_mode((HEIGHT, WIDTH))
pygame.display.set_caption("Chess")

boxL = int(((HEIGHT-40) / 8))
clock = pygame.time.Clock()
pawnPic = pygame.image.load(r'C:\Users\Adjun\Dropbox\My PC (DESKTOP-BHG02HU)\Pictures\Saved Pictures\pawnPic.png')
pawnPic = pygame.transform.scale(pawnPic, (115, 115))
pawn1X = boxL * 3 + 20
pawn1Y = boxL * 5 + 20
Exit_game = True
while Exit_game:
    clock.tick(FPS)
    mouse_x, mouse_y = pygame.mouse.get_pos()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            Exit_game = False
    game_display.fill(white)
    for i in range(4):
        i += 1
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 210, 20, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 95, 135, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 210, 250, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 95, 365, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 210, 480, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 95, 595, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 210, 710, 115, 115), 0)
        pygame.draw.rect(game_display, lBrown, (115 * i * 2 - 95, 825, 115, 115), 0)

        pygame.draw.rect(game_display, brown, (115 * i * 2 - 95, 20, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 210, 135, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 95, 250, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 210, 365, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 95, 480, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 210, 595, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 95, 710, 115, 115), 0)
        pygame.draw.rect(game_display, brown, (115 * i * 2 - 210, 825, 115, 115), 0)
        pygame.draw.rect(game_display, black, (20, 20, 920, 920), 1)
        game_display.blit(pawnPic, (pawn1X, pawn1Y))
    pygame.display.update()
另外,如果有人知道,如果我有多个光点棋子,我如何让pygame知道鼠标在哪个图像上,而不进行pygame单独检查每个像素或每个棋盘点

使用“segoeuisymbol”系统字体作为棋盘模式而不是图像。看见例如,的Unicode字符为“\u2659”:

seguisy115=pygame.font.SysFont(“seguisymbol”,115) pawnChar='\u2659' pawnPic=seguisy115.render(pawnChar,真,黑色)

另请参见。

使用“segoeuisymbol”系统字体作为国际象棋模式,而不是图像。看见例如,的Unicode字符为“\u2659”:

seguisy115=pygame.font.SysFont(“seguisymbol”,115) pawnChar='\u2659' pawnPic=seguisy115.render(pawnChar,真,黑色)


另请参见。

PNG本身有透明度吗?@AKX我不知道你说的是什么意思。如果这有帮助的话,这就是我所说的图像。链接本身是透明的,所以我认为so@KamilLeocadie-Olsen如果你已经正确下载了图片,那么背景应该是透明的。我重新下载了它,但仍然无法工作。im右键单击图像,然后按“将图像另存为”。这是正确的方法还是我应该做别的事情@Rabbid76@KamilLeocadie-Olsen当您执行“将图像另存为”时,透明度将丢失,并且您可能会得到棋盘格背景。你必须使用官方下载。出于调试原因,请尝试另一个图像PNG本身是否具有透明度?@AKX我不确定你的意思。如果这有帮助的话,这就是我所说的图像。链接本身是透明的,所以我认为so@KamilLeocadie-Olsen如果你已经正确下载了图片,那么背景应该是透明的。我重新下载了它,但仍然无法工作。im右键单击图像,然后按“将图像另存为”。这是正确的方法还是我应该做别的事情@Rabbid76@KamilLeocadie-Olsen当您执行“将图像另存为”时,透明度将丢失,并且您可能会得到棋盘格背景。你必须使用官方下载。出于调试原因,请尝试另一个映像