我将调整图像大小。这是代码:
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)))
根据打印结果,图像尺寸不会改变。
答案 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