我正在用 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类型的远程过程执行此操作,我将返回一个字节数组,让接收应用程序对其进行解码。

我会创建两种方法:

  1. 第一个方法创建图像并返回 java.awt.Image. 。您可以在这里放置方法的绘图部分。
  2. 第二种方法创建一个 gif 表示 java.awt.Image 根据外部应用程序的要求。它应该返回 OutputStream 正如已经建议的那样。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top