我想通过网络套接字(java.net)传输图像.Where我能找到示例代码吗
在java..Say中压缩缓冲图像例如,如果我的图像文件大约200kb,我希望
它将被转换为100kb..So格式,这样传输速度会快一点。
谢谢。。
发布于 2011-04-12 14:11:27
据我所知,对图像进行无损压缩的最佳方法是使用Java中的图像库可以编写的PNG。
如果你需要更小的图像,你需要使用有损压缩。一种简单的方法是使用JPEG,您可以调低质量,直到获得您想要的速率。
你也可以先将图像缩小到原始尺寸的1/2或1/3,从而得到一个小得多的图片,然后在另一端进行放大。这将用于快速传输,然后当运动稳定下来时,您可以传输完整的图像。
发布于 2011-04-12 17:12:53
做到这一点的方法实际上取决于你想要做什么。
如果你想传输图像作为一些质量损失的代价,你可以将它们保存为JPEG (在内存流中),传输这些字节数据,并在另一边再次读取图像。一个典型的200KB图像可以减少到20-50K,产生的质量很好。
阅读The Java Image I/O API可能会对此有所帮助。
如果您绝对想保留原始字节,或者想要更通用的解决方案,只需使用一些压缩库,如Gzip来压缩/解压缩您的数据。首先,您可以使用Compressing and Decompressing Data Using Java APIs作为一个很好的开始。
发布于 2011-04-12 14:06:46
您可以使用ImageIO.write()以支持的压缩图像格式流式传输BufferedImage,例如jpg (有损压缩)或png (无损压缩)。
https://stackoverflow.com/questions/5631011
复制相似问题