2

我正在用java创建一个应用程序,它将成为外部应用程序的一部分。我的应用程序包含一个视口,它显示了一些多边形和类似的东西。外部应用程序需要获取 gif 格式的视口图像。为此,它调用接口中的方法(由我的应用程序实现)并且我的应用程序返回图像。外部应用程序需要将图像存储在数据库中(或与它相关的东西,我不需要担心)。

我的问题是:- 当我的应用程序将图像发送到外部应用程序时,图像的数据容器类型应该是什么?我的意思是该方法的返回类型应该是什么?目前我的 gif 编码器类返回一个字节数组。还有其他“更好”的选择吗?

4

4 回答 4

3

如果您希望 GIF 很小,则字节数组可能是合适的,但您可能会考虑使用一个OutputStream,这样您就可以更有效地流式传输位。

即使今天您只返回一个完全填充的ByteArrayOutputStream,这也将允许您在将来更改您的实现而不会影响 cilent 代码。

于 2008-10-21T14:08:21.167 回答
2

更直观的返回类型可能是 java.awt.Image。

以下是一些示例: http ://www.google.com/codesearch?q=java+gif+image&hl=en&btnG=Search+Code

于 2008-10-21T14:17:30.883 回答
0

如果您的“应用程序”实际上正在调用 Java 方法,那么它应该理解 Java 返回类型并且您应该返回 java.awt.image。

如果您通过某种无法理解 Java 类型的远程过程执行此操作,我将返回一个字节数组并让接收应用程序对其进行解码。

于 2008-10-21T17:42:23.420 回答
0

我会创建两种方法:

  1. 第一个方法创建图像并返回一个java.awt.Image. 在这里你可以把你的方法的绘图部分。
  2. 第二种方法根据java.awt.Image外部应用程序的请求创建 gif 表示。它应该OutputStream按照已经建议的方式返回。
于 2009-01-06T19:25:46.017 回答