题
我正在用 java 创建一个应用程序,它将成为外部应用程序的一部分。我的应用程序包含一个视口,其中显示一些多边形和类似的东西。外部应用程序需要获取 gif 格式的视口图像。为此,它调用接口中的方法(由我的应用程序实现),并且我的应用程序返回图像。外部应用程序需要将图像存储在数据库中(或与它相关的东西,我不需要担心)。
我的问题是:- 当我的应用程序将图像发送到外部应用程序时,图像的数据容器类型应该是什么?我的意思是该方法的返回类型应该是什么?目前我的 gif 编码器类返回一个字节数组。还有其他“更好”的选择吗?
解决方案
如果您希望GIF很小,则字节数组可能是合适的,但您可以考虑使用 OutputStream
,以便更有效地流式传输位。
即使今天你只返回一个完全填充的 ByteArrayOutputStream
,这样你就可以在不影响安静代码的情况下改变你的实现。
其他提示
更直观的返回类型可能是java.awt.Image。
以下是一些例子: http://www.google.com/codesearch? q = java的+ GIF +图像和安培; HL = EN&安培; btnG =搜索+代码
如果你的'应用程序'实际上是在调用Java方法,那么它应该理解Java返回类型,你应该返回java.awt.image。
如果您通过某种无法理解Java类型的远程过程执行此操作,我将返回一个字节数组,让接收应用程序对其进行解码。
我会创建两种方法:
- 第一个方法创建图像并返回
java.awt.Image
. 。您可以在这里放置方法的绘图部分。 - 第二种方法创建一个 gif 表示
java.awt.Image
根据外部应用程序的要求。它应该返回OutputStream
正如已经建议的那样。
不隶属于 StackOverflow