我通过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)
答案 0 :(得分:1)
您可以创建内存中的文件句柄并写入:
from io import BytesIO
fd = BytesIO()
pic.save(fd, "png")
client_connection.sendall(fd.getvalue())