【问题标题】:how can we get rid of the blur in pygame image?我们如何摆脱 pygame 图像中的模糊?
【发布时间】:2022-08-11 04:22:26
【问题描述】:

    
    import pygame as pygame , sys
    
    pygame.init()
    size = (700,500)
    window_game = pygame.display.set_mode(size)
    print(pygame.mouse.get_cursor())
    _run_ = True
    
    
    class mySprite(pygame.sprite.Sprite):
        def __init__ (self,width,height,cord_x,cord_y,color):
            super().__init__()
            self.image = pygame.Surface([width,height])
            self.image.fill(color)
            self.rect = self.image.get_rect()
            self.rect.center = [cord_x,cord_y]
#my background image
    bgimg = pygame.image.load(\"download.jpg\")
    bgimg = pygame.transform.smoothscale(bgimg, size)
    
    placeSP = [mySprite(50,20,100,150,(10,205,120))]
    placeSP_group = pygame.sprite.Group()
    
    Clock = pygame.time.Clock()
    FPS = 240
    while _run_:
    
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.QUIT
                sys.exit()
            placeSP.append(mySprite(50,20,100,170,(10,25,0)))
        pygame.display.flip()
        window_game.blit(bgimg,(0,0))
        placeSP_group.draw(window_game)
        placeSP_group.add(placeSP[:])
        Clock.tick(FPS)

现在我遇到的问题是download.jpg是4k res,如果我尝试将该图像放入我的窗口中,则img非常模糊,我还尝试了更多img,但它们都模糊了 我要尝试获取窗口大小的图片还是必须做其他事情,请告诉我....

  • 需要插入示例图像吗?

标签: python image pygame sprite blit


【解决方案1】:

你不能。您可以使用pygame.transform.smoothscale 在模糊图像之间进行选择

bgimg = pygame.transform.smoothscale(bgimg, size)

或带有pygame.transform.scale 的锯齿状图像

bgimg = pygame.transform.scale(bgimg, size)

如果你不想这样,你必须使用更高分辨率的图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2013-01-12
    相关资源
    最近更新 更多