我试图使用PIL.Image将.png图像加载到程序中,以便我可以操作它们,准备好用作sprite中的pygame表面。以下代码显示了我如何尝试将这些Pil图像转换为pygame图像:
bytes = someImagefile.tobytes()
new_image = pygame.image.fromstring(bytes, size, "RGB")
我得到:" ValueError:字符串长度不等于格式和分辨率大小"
有没有办法在没有保存新的.png副本之后执行此操作?
答案 0 :(得分:4)
以下代码适用于我。 Python2.7 + PIL 2.5 + Pygame1.9.2
import Image
import pygame
image = Image.open("SomeImage.png")
mode = image.mode
size = image.size
data = image.tobytes()
py_image = pygame.image.fromstring(data, size, mode)