У кого-нибудь работает этот пример из хелпа? - страница 2

 
Evgeny Potapov:

Ещё можно получить скриншоты функцией WindowScreenShot(), но она даёт неизвестно какой формат файла, явно меньший, чем ChartScreenShot(), то есть не BMP.

Вы знаете какой это на самом деле формат файла? В хелпе не написано.

У меня сохраняется в gif. В коде же четко указано расширение.

 
Ihor Herasko:

У меня сохраняется в gif

А как у вас получается? Вы даёте имя файлу без расширения, а "gif" добавляется сам? Я не пробовал так, а если пишу имя файла с расширением, то оно и остаётся, хотя внутри там явно что-то другое.

 
Evgeny Potapov:

А как у вас получается? Вы даёте имя файлу без расширения, а "gif" добавляется сам? Я не пробовал так, а если пишу имя файла с расширением, то оно и остаётся, хотя внутри там явно что-то другое.

В приведенном примере из хелпа я заменил только ChartScreenShot на WindowScreenShot и поставил параметры соответственно для этой функции. Расширение файла оставил gif. В этом формате все и сохраняется. Тем более, что в хелпе явно указано:

WindowScreenShot

Сохраняет изображение текущего графика в файле формата GIF.
 
Ihor Herasko:

В приведенном примере из хелпа я заменил только ChartScreenShot на WindowScreenShot и поставил параметры соответственно для этой функции. Расширение файла оставил gif. В этом формате все и сохраняется. Тем более, что в хелпе явно указано:

Гифы я не умею склеивать

 
Ihor Herasko:

скриншоты, действительно, сохраняются не те, что видно на графике

То есть выходит, что моя задача склейки нескольких скриншотов совмещённых по времени, решения не имеет?

 
Evgeny Potapov:

То есть выходит, что моя задача склейки нескольких скриншотов совмещённых по времени, решения не имеет?

Попробуйте задать ширину скрина сразу в 3 раза больше. Он вроде не должен помещаться в экран.

Если не получится, делайте паузу после навигации и после скрина, убеждайтесь, что чарт спозиционирован правильно.

 
Andrey Khatimlianskii:

Попробуйте задать ширину скрина сразу в 3 раза больше. Он вроде не должен помещаться в экран.

Если не получится, делайте паузу после навигации и после скрина, убеждайтесь, что чарт спозиционирован правильно.

Не совсем понятно, что вы говорите:

Ширину скрина когда больше задавать? Когда скриншот делается, или когда выводится на экран?

Проверять, что чарт спозиционирован просто визуально, или вы имеете в виду программной? Если программой, то могу посмотреть только первый видимый бар, но что это даст?

Визуально чат смещается как надо.

 
Evgeny Potapov:

Ширину скрина когда больше задавать? Когда скриншот делается, или когда выводится на экран?

Когда делаете скрин.


Evgeny Potapov:

Проверять, что чарт спозиционирован просто визуально, или вы имеете в виду программной? Если программой, то могу посмотреть только первый видимый бар, но что это даст?

Визуально чат смещается как надо.

Ну да, программно. Дожидаться, чтобы отображались нужные бары, и только потом делать скрин.

 
Andrey Khatimlianskii:

Когда делаете скрин.

Не представляю даже что это может дать?

Написал так:

   success = ChartScreenShot(0,fileName[0],W.Width*3,W.Height/3);
   if(!success) Print(ErrorDescription(GetLastError()), " l=", __LINE__);

Да, скриншоты стали длиннее экрана.

Но в итоговой картинке ничего не изменилось

 
Andrey Khatimlianskii:

Ну да, программно. Дожидаться, чтобы отображались нужные бары, и только потом делать скрин.

В индикаторе функция Sleep() не работает. Поэтому я переделал в советника, добавил:

         Print(" first bar=", ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR), " lineTime=", lineTime, " l=", __LINE__);

перед

         ChartScreenShot(0,fileName[1],W.Width, W.Height/3); //

но этого ничего абсолютно не меняет.

Бары показывает разные, но скриншот всегда с нулевого бара начинается.