Вопрос

Я создаю приложение на Java, которое будет частью внешнего приложения. Мое приложение содержит область просмотра, которая показывает несколько полигонов и тому подобное. Внешнему приложению необходимо получить изображение области просмотра в формате GIF. Для этого он вызывает метод в интерфейсе (реализованный моим приложением), и мое приложение возвращает изображение. Внешнее приложение должно хранить изображение в базе данных (или что-то связанное с этим, о чем мне не нужно беспокоиться).

Мой вопрос: - Каким должен быть тип изображения контейнера, когда мое приложение отправляет его во внешнее приложение? Я имею в виду, какой должен быть тип возврата метода? В настоящее время мой класс кодировщика gif возвращает массив байтов. Есть ли другой вариант «лучше»?

Это было полезно?

Решение

Массив байтов может быть уместен, если вы ожидаете, что GIF-файлы будут маленькими, но вы можете рассмотреть возможность использования OutputStream для более эффективной потоковой передачи битов.

Даже если сегодня вы просто вернете полностью заполненный ByteArrayOutputStream , это позволит вам в будущем изменить реализацию, не затрагивая скрытый код.

Другие советы

Более интуитивным типом возврата может быть java.awt.Image.

Вот несколько примеров: http://www.google.com/codesearch? д = Java + GIF + изображение & амп; гл = еп & амп; btnG = Поиск + код

Если ваше «приложение» фактически вызывает метод Java, оно должно понимать типы возвращаемых данных Java, и вы должны вернуть java.awt.image.

Если вы делаете это через какую-то удаленную процедуру, которая не может понять типы Java, я бы возвратил байтовый массив и позволил принимающему приложению декодировать его.

Я бы создал два метода:

<Ол>
  • Первый метод создает изображение и возвращает java.awt.Image . Здесь вы можете поместить чертежную часть вашего метода.
  • Второй метод создает gif-представление java.awt.Image в соответствии с запросом внешнего приложения. Он должен вернуть OutputStream , как уже предлагалось.
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top