0
我想从服务器发送图像到客户端,然后让客户端用show()显示它,但我有一些问题。 这是发送图片的服务器代码:通过套接字发送图像并显示它
im = ImageGrab.grab()
if not os.path.exists(r'C:\screens'):
os.makedirs(r'C:\screens')
im.save(r'C:\screens\screen.jpg')
data = open(r'C:\screens\screen.jpg', 'r')
data = data.read()
client_socket.send(str(data))
现在,很明显我无法通过套接字发送一个文件,所以我必须把它作为一个字符串,但后来,我不知道如何在客户端使用show(),因为你不能在一个字符串上使用show(),我不知道如何解决这个问题。 正如你可以看到我几乎是一个Python初学者,所以如果解决方案简单明了,我很抱歉。 我会感谢任何帮助,谢谢!
他有蟒蛇,2.7标签,所以他很可能使用Python 2 – tambre
即时通讯使用Python 2.7,现在我把它canged为“RB”,它似乎更好地工作,但关于Image.frombytes - 它似乎它需要3个参数 - (模式,大小和解压的像素数据),我不知道我怎么能知道这三个。 (即使不知道最后一个是什么意思)。我怎么知道这些论点? – DesTeco
好吧忘了''Image.frombytes''(它用于原始图像数据,这不是你要处理的内容),只需保存图像字节并使用Image.open来读取它。为了避免创建一个文件,你应该可以使用''io.BytesIO''来直接读取内存中的字节缓冲区。 –