Скриншот всего терминала - страница 3

 
Maxim Kuznetsov:

а вот зачем такое ? альфа-каналы, тени, спецэффекты...на стену повесить вместо обоев ??  

существует более практическая задача, или зачем вообще делать скриншот всего терминала:

чтобы зафиксировать состояние. Например после удачного/неудачного открытия/закрытия. Или в конце дня для балансового отчёта. Чтобы и самому посмотреть и другим показать (например в спорных моментах с DC)

на таких скриншотах должен быть заснят чарт, окно обор рынка и вкладка навигатора "торговля". То есть привычный для трейдера и причастных вид

вопрос зачем не ко мне. Сам удивлялся этот задаче.

просто интересено было разобраться с форматом bmp. Поэтому и реализовал.

Так же скриншоты, например, могут помочь в решении такой невыполнимой задачи, как узнать цвет и толщину линии брошенного индикатора.

 
Nikolai Semko:

вопрос зачем не ко мне. Сам удивлялся этот задаче.

просто интересено было разобраться с форматом bmp. Поэтому и реализовал.

Так же скриншоты, например, могут помочь в решении такой невыполнимой задачи, как узнать цвет и толщину линии брошенного индикатора.

немного не по теме, но про назначение скриншотов - неплохая идея их применения это что-то типа Picture-In-Picture в TV, когда в прямоугольной области одного чарта виден другой  отмасштабированный чарт со всеми его индикаторами и объектами. 

 
Nikolai Semko:

Индикатор при нажимании клавиши "P" делает три скриншота с разными тайфреймами, склеивает их, выводит склейку на экран с заданной прозначностью и сохраняет это в новый скриншот "ScreenShot.png"

Спасибо! Это интересный пример кода!

Довольно близко к тому, что мне нужно.

Но не могу понять одну странность: когда на экран выводит, то выглядит нормально, но в сохранённом файле остаётся всего одна вертикальная шкала, которая, очевидно, не имеет отношения ни к одному из графиков.

По идее, должно быть так же, как выводится на экран: у каждого из склеенных графиков - своя вертикальная шкала.

Что произошло с вертикальной шкалой?

Файлы:
ScreenShot.png  40 kb
 
Evgeny Potapov:

Спасибо! Это интересный пример кода!

Довольно близко к тому, что мне нужно.

Но не могу понять одну странность: когда на экран выводит, то выглядит нормально, но в сохранённом файле остаётся всего одна вертикальная шкала, которая, очевидно, не имеет отношения ни к одному из графиков.

По идее, должно быть так же, как выводится на экран: у каждого из склеенных графиков - своя вертикальная шкала.


У вас старая версия.  Я это увидел и поправил код. Скачайте заново.
 
Nikolai Semko:

Индикатор при нажимании клавиши "P" делает три скриншота с разными тайфреймами, склеивает их, выводит склейку на экран с заданной прозначностью и сохраняет это в новый скриншот "ScreenShot.png"( в каталоге Files)

   ChartSetSymbolPeriod(0,NULL,PERIOD_M1);
   ChartScreenShot(0,fileName[0],W.Width,W.Height/3);
   ChartSetSymbolPeriod(0,NULL,PERIOD_M5);
   ChartScreenShot(0,fileName[1],W.Width,W.Height/3);
   ChartSetSymbolPeriod(0,NULL,PERIOD_M15);
   ChartScreenShot(0,fileName[2],W.Width,W.Height/3);

Странно, что без паузы работает. Обе функции асинхронные, вроде.

Я ожидал бы от такого кода скриншота старого ТФ )

 
Andrey Khatimlianskii:

Странно, что без паузы работает. Обе функции асинхронные, вроде.

Я ожидал бы от такого кода скриншота старого ТФ )

Да, тоже ожидал пауз и рассинхронизации. 4-ка иногда удивляет.

В 5-ке такое не прокатит. Такого результата можно добиться только со сложной организацией синхронизации,

т.к. c большой вероятностью получишь такой скрин, да еще не на тот ТФ:

что явный косяк в MT5. Зачем формировать и выводить скрин пока не расчитаны или не загружены котировки.

 
Nikolai Semko:
Скачайте заново.

А где скачать-то?

 
Evgeny Potapov:

А где скачать-то?

там же

https://www.mql5.com/ru/forum/351312/page2#comment_18326419

 

А в чём разница? Версия та же, результат тот же.

Не вижу разницы

Файлы:
ScreenShot.png  40 kb
 
Evgeny Potapov:

А в чём разница? Версия та же, результат тот же.


значит вы не переустановили старую версию.

У меня получается так:

проверьте, у Вас должно быть так:

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

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