forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_anigif: поддержка GIF-анимации. (http://forum.boolean.name/showthread.php?t=5543)

ViNT 10.01.2008 16:16

Lib_anigif: поддержка GIF-анимации.
 
Вложений: 2
Библиотека позволяет воспроизводить
GIF-анимацию.

Описание функций и пример использования в архиве.
Просьба протестить и написать, если есть баги.

beloff 10.01.2008 16:56

Re: Lib_anigif: поддержка GIF-анимации.
 
Get_Delay и Get_Frame не определяются в MP...

ViNT 10.01.2008 18:36

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Странно.
А пример из архива тоже не компилится?
Наверное дело в том, что все символы должны быть в нижнем регистре(не Get_Delay и Get_Frame, а get_delay и get_frame).

Piligrim 11.01.2008 00:47

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Вложений: 1
Классно, а то я в GifDecoder не нашел работы с задержками.
У меня все компилится. Я тут похакерничал немного :) Вот класс GifImage, который можно в ресурсы кидать, ну и Lib_anigif надо перекомпилировать. А для загрузки из ФС что-то вроде
Код:

res:resource;
begin
d := jsr75i.open_file('a/Disk.gif');
Debug('err '+d);
res := jsr75i.get_stream;
load_gif2(res);//Загрузка

идея на развитие: сделать обновление картинки в отдельном потоке по TimerTask :)

ViNT 11.01.2008 01:06

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Вложений: 1
Перекомпилил библиотеку, теперь класс просто добавляется как
ресурс.
На счет ФС - это я сделаю прямо на яве, просто сейчас времени мало-параллельно делаю библиотеку smtp.
Что касается прорисовки в отдельном потоке, можно сделать с помощью библиотеки Lib_thread.
P.S. pilgrim, спасибо за идею :) .
P.P.S. pilgrim, а как вообще класс из пакета выдернуть?

Piligrim 11.01.2008 10:36

Ответ: Lib_anigif: поддержка GIF-анимации.
 
smtp, pop3 и imap у меня уже есть рабочая. Просто еще не привел в сответствие с требованиями раздела :)
По классам: первым делом пробую декомпиляцию, если прошла без серьезных ошибок, то после редактирования просто снова компилируем. Если не получилось, то многое можно сделать JavaByte.

ViNT 11.01.2008 22:47

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Представляю вашему вниманию 3 версию библиотеки.
Реализованы загрузка из ФС(jsr75), загрузка по http и определение
размеров изображения.
Библиотека в первом сообщении.

cHeRsAnYa 12.01.2008 11:02

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Пример из архива ни на эмуле ни на к300 не пошёл.

ViNT 12.01.2008 12:33

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Какая именно функция не работает(*_res,*_fs или *_http)?
Перекомпилил пример
и проверил на Motorola c650(MIDP-2.0,CLDC-1.0), все работает.
Если грузить по http, нужно подождать, пока загрузится файл
(в зависимости от скорости подключения). Для загрузки из ФС естественно должен существовать указанный файл и должен быть доступ из явы.

cHeRsAnYa 18.01.2008 19:17

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Ни res, ни http не идёт, и тем более fs. Просто зависает с белым экраном.

ViNT 18.01.2008 21:44

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Других сообщений о багах пока не поступало.
Так что возможно проблема в телефоне.

cHeRsAnYa 18.01.2008 22:16

Ответ: Lib_anigif: поддержка GIF-анимации.
 
А midpx? P.S.: мы оба про новую 3 версию говорим?

ViNT 18.01.2008 22:42

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Я про новую 3-ю версию.
SonyEricsson k510i-все функции ОК.
Motorola с650-ОК(кроме ФС-JSR75 не держит).
J2ME WTK 2.2-ОК.
MidpX 1.2.0.0-ОК.

cHeRsAnYa 19.01.2008 19:31

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Скачал ещё раз, пошло.

m1kc. 16.01.2009 22:47

Lib_anigif: поддержка GIF-анимации.
 
БагЪ! При загрузке из ФС первое изображение грузится нормально, все последующие - через раз. То играет в 2 раза быстрее, то просто зависает. Проверено на нескольких SE, на эмуле, как ни странно, все ОК.

ViNT 16.01.2009 22:50

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

Сообщение от m1kc. (Сообщение 94954)
БагЪ! При загрузке из ФС первое изображение грузится нормально, все последующие - через раз. То играет в 2 раза быстрее, то просто зависает. Проверено на нескольких SE, на эмуле, как ни странно, все ОК.

В какой версии?

m1kc. 16.01.2009 22:55

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

В какой версии?
Третьей.

ViNT 16.01.2009 22:58

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Буду разбираться.

m1kc. 08.02.2009 22:52

Lib_anigif: поддержка GIF-анимации.
 
ViNT, слушай, можешь сделать по-быстрому функцию для определения количества кадров в анимации? Оно ж у тебя все равно там определяется, только не отдается.

ViNT 08.02.2009 23:13

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

Сообщение от m1kc. (Сообщение 97335)
ViNT, слушай, можешь сделать по-быстрому функцию для определения количества кадров в анимации? Оно ж у тебя все равно там определяется, только не отдается.

В интерфейсе GifImage, на котором основана библиотека нет функции определения числа кадров. Библиотека работает через класс GifFrame, а он сам определяет, является ли кадр последним (думаю, по тому же принципу, что и класс Enumeration - число объектов вообще заранее не определяется, просто проверяется, является ли текущий элемент последним). Так что, думаю, добавить функцию не получится.

m1kc. 09.02.2009 00:24

Lib_anigif: поддержка GIF-анимации.
 
А как насчет, допустим, объявить переменную i, при каждом новом кадре увеличивать ее значение на единицу, а когда достигнут последний, запомнить? Вот в этот кусок это можно вставить:

PHP код:

while((img gif.nextImage()) != null) {
frm = new GifFrame(imggif.getDelay() * 10);
if(
last == null)
gifFrame frm;
else
last.next frm;
last frm;



Doctor Drive 21.03.2009 02:36

Ответ: Lib_anigif: поддержка GIF-анимации.
 
а как сравнить картинки? типа
image2 = image1... ?

так^ не работает. Через библу с байтами тоже не получается. Дайте примерчик пожалуйста.

ViNT 21.03.2009 13:41

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Ну, можно, напимер, попробовать преобразовать оба изображения в строки и сравнить их

Doctor Drive 21.03.2009 23:24

Ответ: Lib_anigif: поддержка GIF-анимации.
 
как? вот загрузил либой anigif3 картинки a:image и b:image. как их в строку переобразовать?

Doctor Drive 21.03.2009 23:33

Ответ: Lib_anigif: поддержка GIF-анимации.
 
как? вот загрузил либой anigif3 картинки a:image и b:image. как их в строку переобразовать?

ViNT 22.03.2009 13:37

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Имеется в виду сравнение анимированных gif? Тогда все сложнее, по идее, нужно синхронно загржать кадры изображений и сравнивать их, но библиотека пока может загружать только одно изображение. Как появится время, попробую сделать поддержку нескольких изображений.

Doctor Drive 22.03.2009 21:32

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Да нет, мне просто надо сравнение картинки kartinko1: image и kartinko2: image

типа if kartinko1 = kartinko2 then preved

ViNT 22.03.2009 23:36

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Вложений: 1
Тогда эта библиотека не нужна, она предназначена именно для воспроизведения многокадровых GIF-изображений.
Для решения данной задачи, думаю, будет достаточно загрузить оба изображения стандартными средствами, преобразовать каждое в строку и сравнить полученные строки. Правда, на счет максимального размера изображений и производительности ничего сказать не могу. Преобразовать image в строку можно прикрепленной библиотекой.

Doctor Drive 23.03.2009 01:38

Ответ: Lib_anigif: поддержка GIF-анимации.
 
ViNT, мне нужно их сравнить чтобы определить конец анимации :)
Эта ^либа^ какраз то что мне надо было. Большое спасибо!

Doctor Drive 02.10.2009 16:58

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Класс GifImage никакой декопмиль из имеющихся у меня доступных не берет (с ошибками делает). Есть у кого исходнеги?

boydjon 09.08.2010 19:27

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Здравствуйте!
У меня вопрос такой, с помощью anigif вывел картинки, как получить id выбранной картинки ?

ViNT 09.08.2010 19:43

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

Сообщение от boydjon (Сообщение 157793)
Здравствуйте!
У меня вопрос такой, с помощью anigif вывел картинки, как получить id выбранной картинки ?

В каком смысле - "получить id"?
Библиотека отдает значение типа Image для текущего кадра, а что нужно получить Вам?

boydjon 09.08.2010 19:48

Ответ: Lib_anigif: поддержка GIF-анимации.
 
мне нужно выбрать картинку из многих и знать что выбрана именно та картинка, те есть узнать номер выбранной картинки.

ViNT 09.08.2010 19:50

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

Сообщение от boydjon (Сообщение 157797)
мне нужно выбрать картинку из многих и знать что выбрана именно та картинка, те есть узнать номер выбранной картинки.

Все равно не понял. Нужно выбрать кадр с определенным номером?

boydjon 09.08.2010 19:59

Ответ: Lib_anigif: поддержка GIF-анимации.
 
:) видимо я с раб устал и пальцы заплетаются ).
Нее я не про анимацию, я вывел просто статичные смайлы многа штук и мне нужно чтоб к каждой картинке был привязан текст , чтоб при нажатии на смайл в текстбокс выводить текст смайла.

ViNT 09.08.2010 20:06

Ответ: Lib_anigif: поддержка GIF-анимации.
 
Цитата:

Сообщение от boydjon (Сообщение 157800)
:) видимо я с раб устал и пальцы заплетаются ).
Нее я не про анимацию, я вывел просто статичные смайлы многа штук и мне нужно чтоб к каждой картинке был привязан текст , чтоб при нажатии на смайл в текстбокс выводить текст смайла.

Смотря какие смайлы и как выведены. Если все одинакового размера - описать масив строк, с длиной, равной числу изображений, и вычислять номер элемента по координатам (как я понял, предполагается использование сенсорного экрана?).

А вообще, лучше было отдельную тему создать, всетаки, вопрос к данной теме отношения не имеет.


Часовой пояс GMT +4, время: 08:46.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot