21. ivantu - 22 Ноября, 2020 - 14:36:08 - перейти к сообщению
Есть вероятность большая что вы скачиваете файл который еще не полностью загрузился на сервере.
22. neba2101 - 25 Ноября, 2020 - 10:04:19 - перейти к сообщению
Делаем скрин части экрана(картинка меняется). Заливаем картинку на фтп, потом скачиваем и выводим на экран через visualwindow. Если делать картинку в формате .bmp? то все работает, при .jpg тоже работает, НО иногда картинка как бы не дорисовывается(нижняя часть картинки просто залита одним цветом). В чем может быть причина?
Не могу выводить через .bmp т.к. картинка большого размера и влияет на пинг. jpg картинка на порядок меньшего размера.
Не могу выводить через .bmp т.к. картинка большого размера и влияет на пинг. jpg картинка на порядок меньшего размера.
CODE:
external(INT, "InternetOpen", "InternetOpenA", "Wininet.dll" );
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll" );
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll" );
external(INT, "FtpSetCurrentDirectory", "FtpSetCurrentDirectoryA", "Wininet.dll" );
external(INT, "FtpPutFile", "FtpPutFileA", "Wininet.dll" );
int count_byte_img;
char text_img[999999]; // размер файла
int Image_0[1500][1500];
int open, _close, connect, file, catalog;
string ftp="******"; // фтп, исправить на свой
string login="******"; // исправить на свой
string pass="******"; // исправить на свой
open=InternetOpen("Microsoft Internet Explorer", 0, 0, 0, 0);
connect=InternetConnect(open, ftp, 21, login, pass, 1, 134217728, 0);
catalog=FtpSetCurrentDirectory(connect, ftp);
//string bmp_jpeg=".jpg";//Так иногда "не дорисовывает" изображение
string bmp_jpeg=".bmp";//Так работает отлично
string path_img=pathfolder()+individualcode()+"2"+bmp_jpeg;
loop()
{
if(bmp_jpeg==".jpg")savescreen(JPG, pathfolder()+individualcode()+"1"+bmp_jpeg, 400, 400, 800, 800, -1);
if(bmp_jpeg==".bmp")savescreen(pathfolder()+individualcode()+"1"+bmp_jpeg, 400, 400, 800, 800, -1);
file=FtpPutFile(connect, pathfolder()+individualcode()+"1"+bmp_jpeg, individualcode()+"1"+bmp_jpeg, 0, 0);
count_byte_img = sendgetweb(#text_img[0], "Mozilla", "GET", "http:^/^/ URL_website.ru", individualcode()+"1"+bmp_jpeg);
if (count_byte_img>0)
{
if(fopen(path_img, "wb")) // открыть файл для записи
{
fwriteb(#text_img[0], count_byte_img); // записать то что прочитали
fclose(); // закрыть файл
}
}
if(bmp_jpeg==".jpg")loadimage (JPG, #Image_0[0][0], pathfolder()+individualcode()+"2"+bmp_jpeg);
if(bmp_jpeg==".bmp")loadimage (#Image_0[0][0], pathfolder()+individualcode()+"2"+bmp_jpeg);
visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 0, 0 , 100, #Image_0[0][0]);
}
_close=InternetCloseHandle(connect);
_close=InternetCloseHandle(open);
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll" );
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll" );
external(INT, "FtpSetCurrentDirectory", "FtpSetCurrentDirectoryA", "Wininet.dll" );
external(INT, "FtpPutFile", "FtpPutFileA", "Wininet.dll" );
int count_byte_img;
char text_img[999999]; // размер файла
int Image_0[1500][1500];
int open, _close, connect, file, catalog;
string ftp="******"; // фтп, исправить на свой
string login="******"; // исправить на свой
string pass="******"; // исправить на свой
open=InternetOpen("Microsoft Internet Explorer", 0, 0, 0, 0);
connect=InternetConnect(open, ftp, 21, login, pass, 1, 134217728, 0);
catalog=FtpSetCurrentDirectory(connect, ftp);
//string bmp_jpeg=".jpg";//Так иногда "не дорисовывает" изображение
string bmp_jpeg=".bmp";//Так работает отлично
string path_img=pathfolder()+individualcode()+"2"+bmp_jpeg;
loop()
{
if(bmp_jpeg==".jpg")savescreen(JPG, pathfolder()+individualcode()+"1"+bmp_jpeg, 400, 400, 800, 800, -1);
if(bmp_jpeg==".bmp")savescreen(pathfolder()+individualcode()+"1"+bmp_jpeg, 400, 400, 800, 800, -1);
file=FtpPutFile(connect, pathfolder()+individualcode()+"1"+bmp_jpeg, individualcode()+"1"+bmp_jpeg, 0, 0);
count_byte_img = sendgetweb(#text_img[0], "Mozilla", "GET", "http:^/^/ URL_website.ru", individualcode()+"1"+bmp_jpeg);
if (count_byte_img>0)
{
if(fopen(path_img, "wb")) // открыть файл для записи
{
fwriteb(#text_img[0], count_byte_img); // записать то что прочитали
fclose(); // закрыть файл
}
}
if(bmp_jpeg==".jpg")loadimage (JPG, #Image_0[0][0], pathfolder()+individualcode()+"2"+bmp_jpeg);
if(bmp_jpeg==".bmp")loadimage (#Image_0[0][0], pathfolder()+individualcode()+"2"+bmp_jpeg);
visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 0, 0 , 100, #Image_0[0][0]);
}
_close=InternetCloseHandle(connect);
_close=InternetCloseHandle(open);