J2ME в Netbeans (проблема с изображением gif)

Я создаю приложение для внутренней навигации (с тем, чтобы пользователь мог хранить карты для разных зданий в файловой системе телефона). Приложение запускается, предлагая пользователю выбрать карту для желаемого здания. Как только это будет выбрано, будет использоваться анализатор файла для анализа и преобразования данных карты из файла. Пока это происходит, я создал экран ожидания, на котором говорилось, что пожалуйста, подождите ... а также разместил изображение загрузки / обработки, которое является гифкой. Но когда я запускаю это в эмуляторе Sun WTK, гифка не меняется, она становится статичной картинкой. Кстати, я использую для этого Netbeans 6.1. Любые идеи? Большое спасибо.

Применение градиента к изображению с помощью CSS
Применение градиента к изображению с помощью CSS
Здравствуйте, братья и сестры, как дела? Недавно я застрял на применении градиента к изображению. Я применял это много раз, но иногда наши требования...
Получение URL-адреса изображения курса в Moodle с помощью PHP
Получение URL-адреса изображения курса в Moodle с помощью PHP
Moodle - это популярная система управления обучением с открытым исходным кодом, используемая многими учебными заведениями и организациями по всему...
2
0
4 629
3

Ответы 3

Анимированные GIF-файлы не поддерживаются в MIDP по умолчанию, поэтому, если вы действительно хотите воспроизвести анимированный GIF-файл, вам необходимо использовать для этого MMAPI. Я предлагаю вам разделить анимацию на отдельные файлы и сделать анимацию вручную. Это самый простой способ.

Этот код позволяет воспроизводить анимированный gif в конце

InputStream is = getClass().getResourceAsStream("/OceanFish.gif");
DataInputStream di = new DataInputStream(is);
StaticAnimation simage = StaticAnimation.createAnimation(di);

но опять же, я бы не стал предлагать это, поскольку он не очень портативный.

Даже обработка изображений gif не поддерживается на старых телефонах, как указано в Форум Nokia.

Однако статья в журнале доктора Добба дает решение «Отображение изображений GIF на мобильных телефонах J2ME» с использованием свободно доступного класса GifEncoder.java. Его порт J2ME доступен на той же странице здесь.

Я согласен, PNG в JavaME VM гораздо лучше поддерживаются, чем GIF. Например, Samsung E250 не выполняет рендеринг GIF в своем J2ME, но может выполнять PNG и JPEG (это из тестов, которые мы запускали в нашем приложении).

David d C e Freitas 14.12.2010 17:37

Возможно, это не идеальное решение, но вы всегда можете извлечь кадры анимации gif на лист спрайтов в формате png, а затем использовать класс Sprite для обработки анимации. Это было бы гораздо более переносимым, поскольку класс Sprite является частью стандарта MIDP 2.

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