我有一个客户端服务器应用程序。服务器是纯Java,客户端是Android应用程序。他们使用ServerSocket通过TCP进行通信。
我想在服务器上创建一个图像,对其进行编辑(例如,在其上绘制线条),然后将其发送到客户端以在屏幕上以位图的形式显示在客户端。
我的第一种方法是将android.graphics.Bitmap库导入服务器以在其中使用它,但是当然,因为您不能在Android环境之外使用Android库,所以这是行不通的。
我现在的方法是在服务器上使用BufferedImage,但是问题是我无法找到如何以客户端可以从中重构位图的方式进行序列化的方法。我尝试使用ImageIO.write,但是在客户端必须做什么?
是否有人对如何解决这个问题有想法,还是有更好的方法?
我感谢您的帮助。
最佳答案
可以使用BitmapFactory
类在Android中对任何PNG或JPG图像进行解码。获取图像的InputStream
,然后使用BitmapFactory.decodeStream(inputStream)
。不需要专门序列化...只需发送图像的字节即可。