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

时间:2016-05-21 18:35:23

标签: python image sockets tcp pillow

我通过PIL open load()函数加载图像并更改像素。然后我必须通过套接字将它发送给客户端。如何在不先保存图像的情况下执行此操作。在我目前的方法中,我使用保存功能保存图像,然后在rb模式下将其作为文件打开并发送。     pic = Image.open(image_name)     pixels = pic.load()     #code来操纵图像的像素

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

1 个答案:

答案 0 :(得分:1)

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

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