2008-10-21 4 views
2

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

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

ответ

3

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

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

+0

gif изображение будет размером 150 x 150 пикселей. – 2008-10-22 05:27:56

+0

Это приятно и мало. Байт-массив в порядке. – 2008-10-23 22:31:24

0

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

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

0

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

  1. Первый метод создает образ и возвращает java.awt.Image. Здесь вы можете поместить часть чертежа вашего метода.
  2. Второй способ создает gif-представление java.awt.Image по требованию внешнего приложения. Он должен вернуть OutputStream, как уже было предложено.

 Смежные вопросы

  • Нет связанных вопросов^_^