繁体   English   中英

pygame图像到base64

[英]pygame image to base64

我像这样捕获我的pygame程序的屏幕

           data = pygame.image.tostring(pygame.display.get_surface(),"RGB")

如何将其转换为base64字符串? (无需将其保存到HDD)。 重要的是不要保存到HDD。 我知道我可以将其保存到文件中,然后将文件编码为base64,但是我似乎无法“即时”编码

谢谢

如果需要,可以将其保存到StringIO ,它基本上是存储为字符串的虚拟文件。

但是,我确实建议您使用base64模块,该模块具有一种称为base64.b64encode的方法。 它可以很好地满足您的“即时”需求。

代码示例:

import base64
data = pygame.image.tostring(pygame.display.get_surface(),"RGB")
base64data = base64.b64encode(data)

编码愉快!

实际上pygame.image.tostring()是一个非常奇怪的函数(真的不理解它返回的二进制字符串,我找不到任何可以正确处理它的东西)。

pygame bitbucket似乎对此有一个增强问题:( https://bitbucket.org/pygame/pygame/issue/48/add-optional-format-argument-to

我这样绕过它:

            data = cStringIO.StringIO()
            pygame.image.save(pygame.display.get_surface(), data)
            data = base64.b64encode(data.getvalue())

因此,最后您将获得有效且正确的base64字符串。 而且似乎可行。 尚不确定格式,将添加更多信息tmrw

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM