На сколько красочно можно реализовать анимацию в MQL5 - страница 2

 
Dmitry Fedoseev:

Что тут такого секретного чтобы выкладывать ex5 вместо mql5? Зачем рассказываете про какой-то Dosposal Method если выкладываете ex5?

Полностью с Вами согласен!

Код будет, но только в законченном виде! Тут правда есть один момент, если я его доделаю, ведь это так - досуг...
 
Zorro:
Полностью с Вами согласен!

Код будет, но только в законченном виде! Тут правда есть один момент, если я его доделаю, ведь это так - досуг...
Понятно что не доделаете.
 
Vasiliy Sokolov:
Дайте наконец шрифты в качестве ресурсов. Это ведь так просто. Например, почему шрифт в панели не может быть жирным? Есть и другие ограничения. Cделайте нужную вещь!
Так ведь можно менять "жирность", в справке об этом указано...
 
Zorro:
Развлекался тут давича, гифку надо в Files закинуть

Загрузчик до конца не готов, не обрабатывается поле "Disposal Method" блока "Graphic Control Extension"...
Гифку можно ресурсом прямо в ex5 зашить. Или с анимацией так не получается?
 
Если ресурсом, то можно и bmp по кадрам и как угодно по другому, а тут получается gif плеер. По крайней мере идея такая, будет ли другие гифки играть не пробовал.
 
Ilyas:
Так ведь можно менять "жирность", в справке об этом указано...
У текста на графике, но не у текстовой метки! А ведь именно текстовые метки (label) используются для построения визуальных форм.
 
Пример использования:
#include <ZoLib/img/ZoGIF.mqh>
#include <ChartObjects/ChartObjectsBmpControls.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ZoGIF gif;
   
   uchar  data[];
   string hdr;
//---
   int res=WebRequest("GET","https://33.media.tumblr.com/b5c1b2f23c7f219c5415003b8711c534/tumblr_n04arma1pt1sp6e2vo1_500.gif",NULL,1000000,data,data,hdr);
//---
   if(res==200)
      res=ZoGIFLoad(gif,data);
   else
      res=ZoGIFLoad(gif,"6.gif");
//---
   if(res)
     {
      CChartObjectBmpLabel label;
      label.Create(0,"GIF",0,0,40);

      for(int i=0;i<gif.frame_count;i++)
         ResourceCreate("frm_"+(string)i,gif.frame[i].image,gif.width,gif.height,0,0,gif.width,COLOR_FORMAT_ARGB_NORMALIZE);

      for(int frm=-1;!IsStopped();)
        {
         if(++frm>=gif.frame_count)
            frm=0;
         Comment("frame #",frm);
         label.SetString(OBJPROP_BMPFILE,"::frm_"+(string)frm);
         ChartRedraw();
         Sleep(gif.delay[frm]);
        }
     }
   else
     {
      Print("Cannot load GIF file");
     }
  }

ZoGIF.mqh в MQL5/Include/ZoLib/img
ZoGIF.ex5  в MQL5/Libraries/ZoLib

Файлы:
ZoGIF.mqh  2 kb
ZoGIF.ex5  27 kb