Java - 通过 TCP Socket 传输 BufferedImage

发布于 2024-12-26 01:59:21 字数 105 浏览 0 评论 0原文

我不太擅长Java,我需要通过TCP套接字发送BufferedImage。我已经成功建立连接(并发送字符串),但我无法真正找到应该使用哪个 Writer 来发送和恢复 BufferedImage。

I am not very good in Java, and I need to send a BufferedImage through a TCP socket. I already managed to make a connection (and send strings), but I couldn't really find out which Writer I should use in order to send and recover the BufferedImage.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆啦不做梦 2025-01-02 01:59:21

您应该 ImageIO.write 使用某种格式(PNG、JPG 等)将图像序列化为字节流。

然后您应该通过线路发送字节流。这里的困难是你不知道前面的流有多大。简单的解决方案是将所有内容保存到内存字节数组中(使用 ByteArrayOutputStream )然后发送它。或者,如果它不适合内存,您应该做一些聪明的事情(将其保存到临时文件中,或使用一些分块协议或发送唯一的终止符标记)。

You should ImageIO.write to serialize an image as a byte stream using some format (PNG, JPG, etc.).

Then you should send the byte stream over wire. The difficulty here is you don't know the size of the stream ahead. Simple solution is save all content into in-memory byte array (use ByteArrayOutputStream for it) then send it. Or if it doesn't fit into memory you should do something smart (save it into temporary file, or use some chunked protocol or send unique terminator mark).

慕巷 2025-01-02 01:59:21

请参阅 ImageIO 类 其中包含 阅读和编写BufferedImageRenderedImage 到/来自各种输入/输出流。

See the ImageIO class which contains methods for reading and writing BufferedImages and RenderedImages to/from various input/output streams.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文