我目前正试图再次拍摄已经绘制的图像的一部分。为此我读了一个可以在使用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的图像,比第一次绘制图像时更亮。
亲切的问候
答案 0 :(得分:3)
您将m
作为blit目标(第二个参数)传递,因此您的曲面将显示在显示屏的左上角。如果你想在其他地方绘制它,例如在(0, 0)
,你必须将这些坐标作为第二个参数传递:
(200, 300)