我目前正在尝试重新绘制一个已经绘制的图像的一部分。在我看来,在使用blit时,可以使用可选的第三个区域参数。我不知道为什么,但是这个参数对我来说很奇怪。
据我所知,面积参数是(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的图像,比第一次绘制的图像更亮。
亲切的问候
发布于 2017-12-21 22:12:00
您将传递(0, 0)作为blit目标(第二个参数),因此您的图面显示在显示的左上角。如果你想在其他地方绘制它,例如在(200, 300),你必须传递这些坐标作为第二个参数:
self.display.blit(image, (200, 300), (640,512,200,200))https://stackoverflow.com/questions/47926159
复制相似问题