通过套接字发送pil图像而不保存python

Posted

技术标签:

【中文标题】通过套接字发送pil图像而不保存python【英文标题】:send pil image through socket without saving python 【发布时间】:2016-05-21 18:35:22 【问题描述】:

我正在通过 PIL open load() 函数加载图像并更改像素。然后我必须通过套接字将其发送给客户端。在不先保存图像的情况下如何做到这一点。在我目前的方法中,我使用保存功能保存图像,然后以 rb 模式将其作为文件打开并发送。 pic = Image.open (image_name) 像素 = pic.load() #用于操作图像像素的代码

#want to avoid this section
pic.save("anyname","png")
f = open("anyname.png","rb")
data = f.read()
client_connection.sendall(data)

【问题讨论】:

【参考方案1】:

您可以创建内存中的文件句柄并写入:

from io import BytesIO
fd = BytesIO()
pic.save(fd, "png")
client_connection.sendall(fd.getvalue())

【讨论】:

以上是关于通过套接字发送pil图像而不保存python的主要内容,如果未能解决你的问题,请参考以下文章

通过 Python 请求发送 PIL 图像

套接字编程/通过无线发送二进制图像数据

Python套接字不接收而不发送

如何将 PIL 生成的图像发送到浏览器?

通过套接字(python)发送包含文件的字典

发送图像时出现 Python 套接字错误。无法解码字节/意外 EOF