• 1
Martifan

Gif File

Вопросы

доброго времени сутки 
подскажите пожалуйста как запустить GIF файл? чтобы анимацию показывала

заранее спасибо

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 ответов на этот вопрос

  • 0

Здравствуйте. Есть один вариант с использованием TBitmapListAnimation:

  1. Кидаем обычный TImage на форму.
  2. Под TImage создаём TBitmapListAnimation.
    Структура должна выглядеть так:
    1233.JPG
  3. В свойствах TBitmapListAnimation:
  • AnimationBitmap - загружаем ленту картинок. Например:Part1.jpg

    Для коротких Gif -ок можно использовать онлайн конверторы:
    http://ezgif.com/split - разделение Gif на отдельные фреймы (картинки)
    http://www.photojoiner.net/merge-photos/editor/# - соединение нескольких картинок в одну (соединяет до 8 штук)

  • AnimationCount - сколько раздельных картинок в нашей объеденённой по горизонтали (в нашем слечае 8)
  • AnimationRowCount - сколько рядов в нашей картинке (в нашем случае 1)
  • Enabled = True
  • Duration - указываем промежуток времени, которое должна занимать гифка (в секундах).
  • PropertyName - прописываем Bitmap

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Апну тему.

Столкнулся с проблемой при использовании TBitmapListAnimation. В Windows - отрабатывает отлично, в Android - анимация как-будто сдвигается. Как решить это проблему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
32 минуты назад, Rokweb сказал:

Апну тему.

Столкнулся с проблемой при использовании TBitmapListAnimation. В Windows - отрабатывает отлично, в Android - анимация как-будто сдвигается. Как решить это проблему?

картинку приложите, которая сдвигается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, Rusland сказал:

картинку приложите, которая сдвигается

Например эта.

Но я провел эксперимент - сдвигается любая картинка на Android, под Windows - все работает отлично. Но мне нужно именно на Android.

HA3.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, Rokweb сказал:

Например эта.

Но я провел эксперимент - сдвигается любая картинка на Android, под Windows - все работает отлично. Но мне нужно именно на Android.

HA3.jpg

Действительно почему-то едет на Андроиде. Скорее всего в самой картинке есть какое-то смещение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
12 минут назад, Rusland сказал:

Действительно почему-то едет на Андроиде. Скорее всего в самой картинке есть какое-то смещение.

Я могу дать оригинал гифки, можете помочь!? Надо сделать так, чтобы была нормальная анимация. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Если в графическом редакторе обрезать до 8 картинок, то видно что на Андроиде все нормально, а вот начиная с 9 кадра почему-то начинаются проблемы. Не знаю почему. И главное непонятно, почему в Windows все нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 25.11.2016 в 16:23, Rusland сказал:

Действительно почему-то едет на Андроиде. Скорее всего в самой картинке есть какое-то смещение.

Вангую, что дело в Scal'е.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

кому интересно кто искал как воспроизвести GIF на Image

китайский брат постарался))

http://www.raysoftware.cn/?p=559

на Win и Andriod все четко

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
12 часов назад, FREEFAR сказал:

кому интересно кто искал как воспроизвести GIF на Image

китайский брат постарался))

http://www.raysoftware.cn/?p=559

на Win и Andriod все четко

Прикольный сайт. Чувак делает интересные вещи, заплатки для Delphi и не особо афиширует это

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
23 часа назад, FREEFAR сказал:

кому интересно кто искал как воспроизвести GIF на Image

китайский брат постарался))

http://www.raysoftware.cn/?p=559

на Win и Andriod все четко

Блин, что то гугл транслейт пишет 

Sorry, we are unable to access the page you requested:

http://www.raysoftware.cn/
 
Но если открывать не из главной,  а напр. по месяцам (справа панель) типа http://www.raysoftware.cn/?m=201803 то все работает.
Изменено пользователем ENERGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 минуты назад, ENERGY сказал:

Блин, что то гугл транслейт пишет 

Sorry, we are unable to access the page you requested:

http://www.raysoftware.cn/

я тоже не смог перевести поэтому методом тыка пример скачал с GIF и полетел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 27.03.2018 в 20:24, FREEFAR сказал:

кому интересно кто искал как воспроизвести GIF на Image

китайский брат постарался))

http://www.raysoftware.cn/?p=559

на Win и Andriod все четко

Доброго времени суток! Друзья подскажите плз, почему гифки по этому коду отображаются без красной цветовой гаммы??? Короче гифки все синие... а jpeg норм отображаются... очень нужно подскажите в чем дело...

image.jpg

Изменено пользователем Roma77751

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

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

http://fire-monkey.ru/topic/5029-обработка-анимированных-gif-по-рецепту-китайского-коллеги/  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
20 минут назад, ENERGY сказал:

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

http://fire-monkey.ru/topic/5029-обработка-анимированных-gif-по-рецепту-китайского-коллеги/  

Спасибо за ответ, вечером протестирую отпишусь 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
5 часов назад, ENERGY сказал:

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

http://fire-monkey.ru/topic/5029-обработка-анимированных-gif-по-рецепту-китайского-коллеги/  

 

исправленная версия выдает ошибку, я ошибку в коде поправил насколько сам смог понять что там происходит, но на цвете это не отразилось совсем...все по прежнему синее((((блин в чем дело...это только у меня чтоли так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

есть у кого нибудь мысли по этому поводу? jpg отображается норм, gif без красной цветовой гаммы...только на Android...на win все отображается корректно....

Изменено пользователем Roma77751

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Я тоже столкнулся с бедой кривых цветов. Но у меня не было обязательной задачей использовать GIF поэтому просто отказался от идеи

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 часа назад, FREEFAR сказал:

Я тоже столкнулся с бедой кривых цветов. Но у меня не было обязательной задачей использовать GIF поэтому просто отказался от идеи

Печаль... может кто сможет на форуме разобраться с кодом... гифки нужны😬

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 23.11.2018 в 17:27, Roma77751 сказал:

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

Точно не скажу, но мне кажется, что проблема в объявлении TInternalColor. По идее, должно быть так:

  TInternalColor = packed record
    case Integer of
      0:
        (
        {$IFDEF BIGENDIAN}
          A, R, G, B: Byte;
        {$ELSE}
          B, G, R, A: Byte;
        {$ENDIF}
        );
      1:
        (Color: TAlphaColor;
        );
  end;

Возможности проверить нет, но попробуйте изменить - должно помочь.

Изменено пользователем dnekrasov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Только что, dnekrasov сказал:

Точно не скажу, но мне кажется, что проблема в объявлении TInternalColor. По идее, должно быть так:


  TInternalColor = packed record
    case Integer of
      0:
        (
        {$IFDEF BIGENDIAN}
          A, R, G, B: Byte;
        {$ELSE}
          B, G, R, A: Byte;
        {$ENDIF}
        );
      1:
        (Color: TAlphaColor;
        );
  end;

Возможности проверить нет, но попробуйте изменить - должно помочь.

утром протестирую отпишусь спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
16 часов назад, dnekrasov сказал:

Точно не скажу, но мне кажется, что проблема в объявлении TInternalColor. По идее, должно быть так:


  TInternalColor = packed record
    case Integer of
      0:
        (
        {$IFDEF BIGENDIAN}
          A, R, G, B: Byte;
        {$ELSE}
          B, G, R, A: Byte;
        {$ENDIF}
        );
      1:
        (Color: TAlphaColor;
        );
  end;

Возможности проверить нет, но попробуйте изменить - должно помочь.

в коде было так:

  TInternalColor = packed record
    case Integer of
      0:
        (

{$IFDEF BIGENDIAN}
          R, G, B, A: Byte;
{$ELSE}
          B, G, R, A: Byte;
{$ENDIF}
        );
      1:
        (Color: TAlphaColor;
        );
  end;
не совсем понял, все же по сути одинаково или я чего то не понимаю... ну я поменял на ваш код все равно все синее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

ПРОБЛЕМА РЕШЕНА! Всем спасибо, отдельное спасибо dnekrasov и IVGSoft, натолкнули на верную мысль. Только менять переменные надо было тут 

 Begin
      Stream.Read(RGBEntry, SizeOf(RGBEntry));
      With APalette do
      begin
        B := RGBEntry.R or (RGBEntry.R shl 8);
        G := RGBEntry.G or (RGBEntry.G shl 8);
        R := RGBEntry.B or (RGBEntry.B shl 8);
        A := $FF;
      end;

 видимо китайцы что то напутали...😄 Прикрепляю исправленный исходник.

FMX.GifUtils.rar

Screenshot_2018-11-27-18-51-20.png

Screenshot_2018-11-27-18-52-18.png

Изменено пользователем Roma77751

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Вадим Смоленский
      Год назад в одной из веток проскочила ссылка на китайский сайт (http://www.raysoftware.cn/?p=559), где предлагалось готовое решение для показа анимированных гифок средствами FireMonkey на любых платформах. Сейчас эта ссылка, как и весь сайт raysoftware.cn, упорно не открывается; по счастью, контент сохранился в гугловском кэше. Я скопировал оттуда код юнита и перевел гуглом все китайские комментарии на английский, добавив их в скобках. Там был еще сопроводительный текст, в котором автор излагал мотивы, побудившие его взяться за эту проблему; каких-то важных технических деталей я в этом тексте не увидел.
      Привожу весь юнит ниже и очень надеюсь, что кто-нибудь из продвинутых коллег объяснит мне, как именно этим кодом можно воспользоваться, чтобы показать пользователю анимированный файл в формате GIF. Моей программерской квалификации, к сожалению, не хватает.
       
    • От FREEFAR
      Всем привет.
      Есть такое событие TakePhotoFromLibraryAction. Но вызов его дает возможность загрузить только фото.
      А как же получить доступ к файлу типа GIF ну или к видео?
      Неужели свои писать контейнер читая расшаренную папку с фото?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу