Python 在没有.blit()的情况下让我的绘图进入pygame

Python 在没有.blit()的情况下让我的绘图进入pygame,python,pygame,Python,Pygame,我已经将自己的绘图加载到屏幕上,并将其缩放到我想要的大小,但我用来绘制绘图的程序的背景仍在图像上。我注意到,当我移动图像时,背景不会随着图片移动,但它实际上看起来像是在伸展,它会覆盖我移动图片到的任何地方。我想这是因为我在屏幕上获取图片时使用了.blit功能,但是我找不到一个足够清晰的答案来说明如何以其他方式获取屏幕上的图片。有人能给我指一下正确的方向吗?是用来在屏幕上画图像的。另一种方法是使用图像程序获取每个像素的每种颜色,然后使用绘制每个像素,但如果要绘制图像,screen.blit是唯一的

我已经将自己的绘图加载到屏幕上,并将其缩放到我想要的大小,但我用来绘制绘图的程序的背景仍在图像上。我注意到,当我移动图像时,背景不会随着图片移动,但它实际上看起来像是在伸展,它会覆盖我移动图片到的任何地方。我想这是因为我在屏幕上获取图片时使用了.blit功能,但是我找不到一个足够清晰的答案来说明如何以其他方式获取屏幕上的图片。有人能给我指一下正确的方向吗?

是用来在屏幕上画图像的。另一种方法是使用图像程序获取每个像素的每种颜色,然后使用绘制每个像素,但如果要绘制图像,
screen.blit
是唯一的选项。

不确定这是否是问题所在,但拉伸可能是由于未重新绘制背景造成的。闪电战就像绘画,你不能抹掉东西。当你想移动某物时,你需要重新绘制所有已经改变的地方——也就是移动后不可见的背景


最快的方法是重新绘制整个背景。

但是我用来绘制图形的程序的背景仍然在图像上。这听起来像是要使用透明的图像(也称为alpha通道),可能是png而不是jpeg/bmp。背景不会随图片移动,但它实际上看起来像是在伸展,它会覆盖我将图片移动到的任何位置。这听起来像是在将图像快速显示到屏幕之前您没有重新绘制背景。谢谢,重新绘制背景解决了问题。当我画这幅画时,我使用了FreshPaint,这是我的transformer book上的一个华硕应用程序,当我把它保存在图片下时,它告诉我这样做会使我失去图片的透明度。我不知道如何修复它,因为我确实将它保存为png文件。