代码之家  ›  专栏  ›  技术社区  ›  Jieke Wei

Pygame图像缩放失败

  •  0
  • Jieke Wei  · 技术社区  · 8 年前

    我将要调整图像的大小。代码如下:

    def display_image(self):
        print('the original size of the image is: ' + str(self.image.get_rect().size))
        self.resize_image(self.image)
        print('the size after resizing is: ' + str(self.image.get_rect().size))
        #some other code in the function
    
    def resize_image(self, image):
        ratio_w = image.get_width()/self.width  #self.width is the width of the screen
        ratio_h = image.get_height()/self.height  #self.height is the height of the screen
        ration = max(ratio_w, ratio_h)
        new_w = image.get_width()/ratio
        new_h = image.get_height()/ration
        image = pygame.transform.scale(image, (int(new_w),int(new_h)))
    

    根据打印结果,图像大小不变。

    1 回复  |  直到 8 年前
        1
  •  1
  •   001    8 年前

    resize_image

    image = pygame.transform.scale(image, (int(new_w),int(new_h)))
    

    正在将参数重新分配给函数。它没有改变 self.image

    自我形象

    def resize_image(self, image):
        #....
        return pygame.transform.scale(image, (int(new_w),int(new_h)))
    

    def display_image(self):
        print('the original size of the image is: ' + str(self.image.get_rect().size))
        self.image = self.resize_image(self.image)
        print('the size after resizing is: ' + str(self.image.get_rect().size))
        #some other code in the function