Можно ли из программы сохранить файл-рисунок ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Андрей
1085
Андрей  
Например - сохранить активное окно после открытия/закрытия позиции?
Rashid Umarov
Админ
16860
Rashid Umarov  
Замечательная функция

Функция ScreenShot() сохраняет изображение текущего графика в файле формата gif. Невозможно постоянно визуально отслеживать несколько графиков одновременно, тем более круглосуточно. Поэтому есть возможность сохранять скриншоты тех моментов (срабатывание отложенного ордера, открытие ордера советником и т.д.), которые хотелось бы непременно увидеть.
Valery V. Chesnokov
1326
Valery V. Chesnokov  
bool ScreenShot( string filename, int size_x, int size_y, int start_bar=-1, int chart_scale=-1, int chart_mode=-1) 
Сохраняет изображение текущем/span>?о м/span>?рафика м/span>? фам/span>?ле формата GIF. В случае неудачи м/span>?озм/span>?ращает FALSE. Чтобы получить информацию об ошибке, необходимо м/span>?ызм/span>?ать функцию GetLastError().
Скриншот сохраняется м/span>? папке каталом/span>?_Ѽ/span>?ерминала\experts\files (каталом/span>?_Ѽ/span>?ерминала\tester\files м/span>? случае тестиром/span>?ания эксперта) или ее подпапках.
Editor
103
Editor  
Bookkeeper:
Например - сохранить активное окно после открытия/закрытия позиции?
https://docs.mql4.com/ru/windows/ScreenShot

bool ScreenShot( string filename, int size_x, int size_y, int start_bar=-1, int chart_scale=-1, int chart_mode=-1)
Сохраняет изображение текущего графика в файле формата GIF. В случае неудачи возвращает FALSE. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Скриншот сохраняется в папке каталог_терминалаexpertsfiles (каталог_терминала esterfiles в случае тестирования эксперта) или ее подпапках.
Параметры:
filename - Имя файла для скриншота.
size_x - Ширина скриншота в пикселах.
size_y - Высота скриншота в пикселах.
start_bar - Номер первого видимого бара на скриншоте. Если указано значение 0, то скриншот снимается с текущего первого видимого бара. Если значение не указано, или указано отрицательное значение, то делается скриншот конца графика с учётом правого отступа.
chart_scale - Масштаб графика, выводимого на скриншот. Может принимать значение от 0 до 5. Если значение не указано, или указано отрицательное значение, то используется текущий масштаб графика.
chart_mode - Вид отображения графика. Может принимать значения: CHART_BAR (0 - последовательность баров), CHART_CANDLE (1 - японские свечи), CHART_LINE (2 - линия по ценам закрытия). Если значение не указано, или указано отрицательное значение, то график выводится в своем текущем виде.
Пример:
  int lasterror=0;
//---- тестер закрыл одну или несколько позиций
if(IsTesting() && ExtTradesCounter<TradesTotal())
{
//---- снимем скриншот для проверки
if(!ScreenShot("shots\tester"+ExtShotsCounter+".gif",640,480))
lasterror=GetLastError();
else ExtShotsCounter++;
ExtTradesCounter=TradesTotal();
}
Valery V. Chesnokov
1326
Valery V. Chesnokov  

Накидали ответы практически одновременно :)

Андрей
1085
Андрей  
Всем огромное спасибо!!!
Андрей
1085
Андрей  

Просьба к администрации (если возможно). Я как раз и искал тему на форуме со ссылкой на статьи Rosh'а. Не нашел чего-то. Пока догадался залезть в "статьи". .. Нельзя ли создать отдельную, постоянно висящую тему с анатированными ссылками на описание приятных возможностей терминала (в отличии от тем о правильных програмных решениях, хотя и это пора бы). Есть еще ведь и две хорошие статьи Татьяны, Сергей собирается делать описание, думаю еще кто-нибудь подключится. Просто мне кажется сайт уже достаточно разросся, чтоб как-то систематизировать наработки, люди ведь старались, а вопросы повторяются постоянно, получается "дурацкий вопрос, разуй глаза". Т.е. мне кажется пора сделать что-то вроде оглавления с анатациями и ссылками.

MetaQuotes
Админ
27706
Renat Fatkhullin  
Да, сайт разрастается, а поисковик совсем плохой - сейчас он практически отключен.
К сожалению, отдельная тема тут не поможет - нужен более комплексный подход.

Мы скоро (в ближайшие недели) запустим новый поисковый движок (сейчас его дописываем) для этого сайта. Искать станет очень легко + будут поисковые разделы.
Андрей
1085
Андрей  
Renat писал (а):
Да, сайт разрастается, а поисковик совсем плохой - сейчас он практически отключен.
К сожалению, отдельная тема тут не поможет - нужен более комплексный подход.

Мы скоро (в ближайшие недели) запустим новый поисковый движок (сейчас его дописываем) для этого сайта. Искать станет очень легко + будут поисковые разделы.

Очень здорово. Только, плиz, предусмотрите - искать ведь в основном будут не программисты, а те, кто очень смутно подозревает, что же надо искать. Я, например, и представить себе не мог, что функция вывода рисунка уже встроена, думал будет целая программа и надеялся, что кто-то что-то... для своих целей, ну и подскажет как.
Заранее спасибо, отключаюсь.
mt1002
140
mt1002  
А как программно снимать скриншот Активной рабочей области??? Тут ведь делается скриншот только одного окна.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий