pygame图像缩放失败

时间:2018-06-21 20:17:00

标签: python pygame scale

我将调整图像大小。这是代码:

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 个答案:

答案 0 :(得分:1)

resize_image中,

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

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

您可以返回新图像并将其分配回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