将PIL图像转换为pygame表面图像

时间:2016-07-29 19:05:09

标签: python image pygame python-imaging-library

我试图使用PIL.Image将.png图像加载到程序中,以便我可以操作它们,准备好用作sprite中的pygame表面。以下代码显示了我如何尝试将这些Pil图像转换为pygame图像:

bytes = someImagefile.tobytes()
new_image = pygame.image.fromstring(bytes, size, "RGB")

我得到:" ValueError:字符串长度不等于格式和分辨率大小"

有没有办法在没有保存新的.png副本之后执行此操作?

1 个答案:

答案 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)