Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Gorago
Отправлено: 14 Августа, 2023 - 13:28:14
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Май 2023  
Репутация: 0




Нажимаю на кнопку сделать скриншот, потом через пару секунд делаю ещё один скриншот, вот как их соединить в один широкий скрин?
 
 Top
Kibor
Отправлено: 14 Августа, 2023 - 21:32:25
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8099
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Gorago пишет:
как их соединить в один широкий скрин


Показал как в один длинный

CODE:
//Эти надо соеденить.
//Они должны иметь одинаковый размер
int Image_0[5000][5000];
loadimage (#Image_0[0][0], "C:\Users\User\Desktop\Новая папка (3)\Image_0.bmp");
int Image_1[5000][5000];
loadimage (#Image_1[0][0], "C:\Users\User\Desktop\Новая папка (3)\Image_1.bmp");


int xr=imagewidth(#Image_0[0][0]);
int yr=imageheight(#Image_0[0][0]);

new int REZ[xr][yr*2];

for (int y=0; y<yr; y++)
{
for (int x=0; x<xr; x++)
{
REZ[x][y]=Image_0[x][y];
}
}

int ty=y;
for (y=0; y<yr; y++)
{
for (x=0; x<xr; x++)
{
REZ[x][ty]=Image_1[x][y];
}
ty++;
}

//Тут сохраняем результат
saveimage(#REZ[0][0], "C:\Users\User\Desktop\Новая папка (3)\REZ.bmp");
 
 Top
Gorago
Отправлено: 16 Августа, 2023 - 10:51:15
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Май 2023  
Репутация: 0




Kibor , не получается соединить 1920 x 1080 размер скриншота.
 
 Top
Kibor
Отправлено: 16 Августа, 2023 - 11:05:47
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8099
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Что значит не получается?
 
 Top
Gorago
Отправлено: 16 Августа, 2023 - 11:19:45
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Май 2023  
Репутация: 0




Kibor , запускаю код, программа запускается, ничего не происходит, программа весит в трее. Запускаю от админа.
 
 Top
Zireael
Отправлено: 16 Августа, 2023 - 11:54:35
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4402
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
запускаю код, программа запускается, ничего не происходит

Если скрины большого размера, то ждать придётся долго.
Нужно это делать в длл.
 
 Top
A1exph
Отправлено: 19 Сентября, 2023 - 21:36:32
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 5
Дата рег-ции: Сент. 2023  
Репутация: 0




Подскажите, как в функции скриншот сделать мненяемое название сохраненного файла,

чтобы первый скриншот был условно сохранялся как 1.jpg, следующий 2.jpg и т.д...
 
 Top
resident
Отправлено: 19 Сентября, 2023 - 22:24:08
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




Если просто, то функцией dir получить список файлов в папке, посчитать кол-во, прибавить 1. Это если отдельная папка для этих скриншотов.
Если не отдельная, то проверять расширение файла.
Если куча разных скринов с разными именами, то уже проверять имя файла.
Вообще я просто использую системное время для именования скринов функция gettime()
(Добавление)
CODE:
string P[1], s[1000];
int last;
int a=dir("c:\tmp\", #s[0]);
for (int n=0; n<a; n++)
{
if(regexreplace(1, #P[0], s[n], "^(\d+)\.svg","$1")) {
last=formatsn(P[0]);
}
}
messagebox(format(last));
 
 Top
A1exph
Отправлено: 20 Сентября, 2023 - 15:03:32
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 5
Дата рег-ции: Сент. 2023  
Репутация: 0




 resident пишет:
Если просто, то функцией dir получить список файлов в папке, посчитать кол-во, прибавить 1. Это если отдельная папка для этих скриншотов.
Если не отдельная, то проверять расширение файла.
Если куча разных скринов с разными именами, то уже проверять имя файла.
Вообще я просто использую системное время для именования скринов функция gettime()
(Добавление)
CODE:
string P[1], s[1000];
int last;
int a=dir("c:\tmp\", #s[0]);
for (int n=0; n<a; n++)
{
if(regexreplace(1, #P[0], s[n], "^(\d+)\.svg","$1")) {
last=formatsn(P[0]);
}
}
messagebox(format(last));


Прошу прощение, но спрошу по простому,

Это стандартный код и я в нем ничег не понимаю

CODE:
pause (p1);
string Txycol[3];
PYes="&"+PYes+"&";
string P_Yes[99];
int X_Yes[99], Y_Yes[99], Col_Yes[99];
int K_Yes=0;
int sy=regexsearch(99, #P_Yes[0], PYes, "(?<=\&)(.+?)(?=\&)");
if (sy>0)
{
for (int n=0; n<sy; n++)
{
regexreplace(-1, #P_Yes[n], P_Yes[n], " ", "");
if (P_Yes[n]!="")
{
P_Yes[n]=","+P_Yes[n]+",";
if (regexsearch(3, #Txycol[0], P_Yes[n], "(?<=,)(.+?)(?=,)")==3)
{
X_Yes[K_Yes]=formatsn(Txycol[0]);
Y_Yes[K_Yes]=formatsn(Txycol[1]);
Col_Yes[K_Yes]=formatsn(Txycol[2]);
K_Yes++;
}
}
}
}
PNo="&"+PNo+"&";
string P_No[99];
int X_No[99], Y_No[99], Col_No[99];
int K_No=0;
int sn=regexsearch(99, #P_No[0], PNo, "(?<=\&)(.+?)(?=\&)");
if (sn>0)
{
for (n=0; n<sn; n++)
{
regexreplace(-1, #P_No[n], P_No[n], " ", "");
if (P_No[n]!="")
{
P_No[n]=","+P_No[n]+",";
if (regexsearch(3, #Txycol[0], P_No[n], "(?<=,)(.+?)(?=,)")==3)
{
X_No[K_No]=formatsn(Txycol[0]);
Y_No[K_No]=formatsn(Txycol[1]);
Col_No[K_No]=formatsn(Txycol[2]);
K_No++;
}
}
}
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by