有关PIL的图像用于pygame的问题

由于pygame难以生成多行文字,因此我之前请教了别人,获得了通过PIL获得多行文字图片的方法。其中最后一句代码是
image = image.crop(region)
return image

我本想着PIL获得图片image,image用于pygame。

但是实际上不行,错误提示的意思是:screent.blit只能显示surface对象,不能显示Image对象。

正常情况下,获得surface对象是通过pygame.image.load获得的
但是pygame.image.load只能用于读取硬盘上的文件,不能直接读我返回的image

当然,我可以把image先保存成文件,再load读取,再删掉文件,但是这样太拖沓了
所以我想问问,有没有办法把PIL的Image对象,变得能让pygame使用?

试试fromstring?将原来的图像转一下。类似下面这样。图片的格式可能要修改一下,size为图片大小
raw_str = image.tobytes("raw", 'RGBA')
pygame_surface = pygame.image.fromstring(raw_str, size, 'RGBA')

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632