Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как соединить два скриншота в один?

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

1. Gorago - 14 Августа, 2023 - 05:28:14 - перейти к сообщению
Нажимаю на кнопку сделать скриншот, потом через пару секунд делаю ещё один скриншот, вот как их соединить в один широкий скрин?
2. Kibor - 14 Августа, 2023 - 13:32:25 - перейти к сообщению
 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");
3. Gorago - 16 Августа, 2023 - 02:51:15 - перейти к сообщению
Kibor , не получается соединить 1920 x 1080 размер скриншота.
4. Kibor - 16 Августа, 2023 - 03:05:47 - перейти к сообщению
Что значит не получается?
5. Gorago - 16 Августа, 2023 - 03:19:45 - перейти к сообщению
Kibor , запускаю код, программа запускается, ничего не происходит, программа весит в трее. Запускаю от админа.
6. Zireael - 16 Августа, 2023 - 03:54:35 - перейти к сообщению
 Цитата:
запускаю код, программа запускается, ничего не происходит

Если скрины большого размера, то ждать придётся долго.
Нужно это делать в длл.
7. A1exph - 19 Сентября, 2023 - 13:36:32 - перейти к сообщению
Подскажите, как в функции скриншот сделать мненяемое название сохраненного файла,

чтобы первый скриншот был условно сохранялся как 1.jpg, следующий 2.jpg и т.д...
8. resident - 19 Сентября, 2023 - 14:24:08 - перейти к сообщению
Если просто, то функцией 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));
9. A1exph - 20 Сентября, 2023 - 07:03:32 - перейти к сообщению
 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++;
}
}
}
}

Powered by ExBB FM 1.0 Final