通过套接字发送 pil 图像而不保存 python
send pil image through socket without saving python
我正在通过 PIL 打开 load() 函数加载图像并更改像素。然后我必须通过套接字将其发送给客户端。如果不先保存图像,我该怎么做。在我目前的方法中,我使用保存功能保存图像,然后以 rb 模式将其作为文件打开并发送。
图片 = Image.open (image_name)
像素 = pic.load()
#code 操作图像的像素
#want to avoid this section
pic.save("anyname","png")
f = open("anyname.png","rb")
data = f.read()
client_connection.sendall(data)
您可以创建内存中文件句柄并写入:
from io import BytesIO
fd = BytesIO()
pic.save(fd, "png")
client_connection.sendall(fd.getvalue())
我正在通过 PIL 打开 load() 函数加载图像并更改像素。然后我必须通过套接字将其发送给客户端。如果不先保存图像,我该怎么做。在我目前的方法中,我使用保存功能保存图像,然后以 rb 模式将其作为文件打开并发送。 图片 = Image.open (image_name) 像素 = pic.load() #code 操作图像的像素
#want to avoid this section
pic.save("anyname","png")
f = open("anyname.png","rb")
data = f.read()
client_connection.sendall(data)
您可以创建内存中文件句柄并写入:
from io import BytesIO
fd = BytesIO()
pic.save(fd, "png")
client_connection.sendall(fd.getvalue())