Pygame blit area参数?

时间:2017-12-21 13:37:02

标签: python pygame partial area blit

我目前正试图再次拍摄已经绘制的图像的一部分。为此我读了一个可以在使用blit时使用可选的第三区参数。我不知道为什么,但那个参数对我来说很奇怪。

据我所知,area参数是(pos_x,pos_y,width,height)。

我的屏幕是1280x1024,所以如果我想让我想重绘的部分从中心开始,我会传递类似(640,512,200,200)的东西,并且应该从200x200部分开始绘制图像中心。

但是,对我来说,图像总是在左上角绘制,而area参数中的前两个数字会改变正在绘制的部分的亮度。

我的代码:

image = pygame.image.load("image.jpg")
image = pygame.transform.scale(image, (self.display.get_width(), self.display.get_height()))
self.display.blit(image, (0,0))
# Drawing something here which has to be overwritten, but cannot redraw everything.
self.display.blit(image, (0,0), (640,512,200,200))

第二个blit只在屏幕左上方绘制一个200x200的图像,比第一次绘制图像时更亮。

亲切的问候

1 个答案:

答案 0 :(得分:3)

您将m作为blit目标(第二个参数)传递,因此您的曲面将显示在显示屏的左上角。如果你想在其他地方绘制它,例如在(0, 0),你必须将这些坐标作为第二个参数传递:

(200, 300)