2016-05-21 10 views
1

Ich lade Bild durch PIL open load() -Funktion und Ändern der Pixel. Ich muss dies dann über Socket an den Client senden. Wie kann ich dies tun, ohne zuerst das Bild zu speichern? In meiner derzeitigen Vorgehensweise speichere ich das Bild mit der Speicherfunktion und öffne es dann als Datei im rb-Modus und sende es. pic = Image.open (image_name) Pixel = pic.load() #code Pixel des Bildes zu manipulierensenden pil Bild durch Socket ohne zu speichern Python

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

Antwort

0

Sie können eine speicher Datei-Handle erstellen und schreiben, daß:

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