C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: XE5 и gif  (Прочитано 2432 раз)
avnalobin
Участник


Сказали спасибо: +0/-2
Offline

Сообщений: 26


XE5 и gif
« : 06 Октябрь 2013, 17:29:24 »

Подскажите, данная студия научилась gif-ки проигрывать без программирования и в многопотоке (т.е. интерфейс не тормозит при наличии на форме большого числа анимированых gif) ?
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: XE5 и gif
« Ответ #1 : 07 Октябрь 2013, 09:10:44 »

Уже давно можно...
1. Кидаешь на форму TImage и назначаешь ему GIF картинку.
2. Подключаешь к исходнику формы Vcl.Imaging.GIFImg.hpp (или просто GIFImg.hpp для более ранних версий студии).
3. Код для старта анимации:

Код
TGIFImage* pGIF = dynamic_castTGIFImage*>(Image1->Picture->Graphic);
if(pGIF) {
pGIF->AnimateLoop = glEnabled;
pGIF->Animate = true;
}
 

4. Код для остановки анимации соответственно:
Код
TGIFImage* pGIF = dynamic_castTGIFImage*>(Image1->Picture->Graphic);
if(pGIF) pGIF->Animate = false;
 
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: XE5 и gif
« Ответ #2 : 07 Октябрь 2013, 09:38:55 »

Цитата: avnalobin от 06 Октябрь 2013, 17:29:24
... без программирования ...

Это, насколько я знаю, нет. Хотя, м.б., в FMX - точно не могу сказать.
Записан
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


Re: XE5 и gif
« Ответ #3 : 07 Октябрь 2013, 10:35:44 »

Вроде как у ХЕ5 проблемы с gif.
Источник: https://forums.embarcadero.com/message.jspa?messageID=597781
Записан
avnalobin
Участник


Сказали спасибо: +0/-2
Offline

Сообщений: 26


Re: XE5 и gif
« Ответ #4 : 07 Октябрь 2013, 12:18:00 »

Цитата: SilverFish от 07 Октябрь 2013, 10:35:44
Источник: https://forums.embarcadero.com/message.jspa?messageID=597781
сцыль не открывается ни в ие ни в хроме
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: XE5 и gif
« Ответ #5 : 07 Октябрь 2013, 12:21:40 »

Вот демо-проект, только что наваял на XE3. 30 GIF-ок (расположены на TGridPanel) нормально анимируются стандартным способом. Проверено на Win32 и Win64.
Записан
avnalobin
Участник


Сказали спасибо: +0/-2
Offline

Сообщений: 26


Re: XE5 и gif
« Ответ #6 : 08 Октябрь 2013, 06:41:38 »

Цитата: S0mbre от 07 Октябрь 2013, 12:21:40
Вот демо-проект, только что наваял на XE3.
жму лапу!

1. просьба - кнопки бы переделать в подпункты главного меню, чтоб видно было, как при движении мышой пункты меню раскрашиваются
а вместо кнопок бросить ТЭдит, чтоб печать попробовать одновременно с гифками

2. зачем используется RegisterFileFormat? по дефалту ХЕ5 не хочет чтоль с гифками работать?
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


« Ответ #7 : 08 Октябрь 2013, 16:03:02 »

Цитата: avnalobin от 08 Октябрь 2013, 06:41:38
1. просьба - кнопки бы переделать в подпункты главного меню, чтоб видно было, как при движении мышой пункты меню раскрашиваются
а вместо кнопок бросить ТЭдит, чтоб печать попробовать одновременно с гифками
2. зачем используется RegisterFileFormat? по дефалту ХЕ5 не хочет чтоль с гифками работать?

1. Во вложении
2. Нет, "работать"-то может, даже XE, а может и 2010. Просто чтобы использовать Image->Picture->LoadFromFile, надо сначала зарегистрировать формат графики, отличной от BMP. См. справку по RegisterFileFormat. Можно этого и не делать, но тогда загрузка GIF в картинку будет более сложной:
Код
TGIFImage* pGIF = new TGIFImage();
pGIF->LoadFromFile("file.gif");
Image1->Picture->Graphic->Assign(pGIF);
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.103 секунд. Запросов: 21.