我在Java方面不是很好,我需要通过TCP套接字发送BufferedImage。我已经设法建立连接(并发送字符串),但我无法找到我应该使用哪个Writer来发送和恢复BufferedImage。
答案 0 :(得分:4)
您应ImageIO.write
使用某种格式(PNG,JPG等)将图像序列化为字节流。
然后你应该通过网络发送字节流。这里的困难是你不知道前面的流的大小。简单的解决方案是将所有内容保存到内存中的字节数组中(使用ByteArrayOutputStream)然后发送它。或者,如果它不适合内存,你应该做一些聪明的事情(将其保存到临时文件中,或使用一些分块协议或发送唯一的终结器标记)。
答案 1 :(得分:0)
请参阅ImageIO
class,其中包含reading的方法,并在各种输入/输出流中写入BufferedImage
和RenderedImage
。