Evgeniy-39rus пишет:
я пока не умею использовать коды
Кстати чат GPT довольно не плохо описывает работу кода Кибор, если в него его вставить.
Если перепутает с другим языком, надо напомнить ему что это код Кибор.
Но только модель GPT-4. Другие про Кибор не знают.
И вообще по программе может что то подсказать..
(Добавление)
Evgeniy-39rus пишет:
я пока не умею использовать коды
Вот я попросил прокомментировать код который дал Zireael
Написал в ChatGPT
CODE:Прокомментируй код
string PathToImage = "C:\4.1.bmp"; // путь к картинке
int r = 5; // отклонение в цвете (0-255)
int p = 95; // точность поиска (1-100)
int count = 10; // сколько картинок искать
int ColorFon = 0; // цвет фона, -1 если цвет фона не используется
int PosX[99], PosY[99];
int Image0[1920][1080];
if(loadimage(#Image0[0][0], PathToImage) < 0)
{
messagebox("Не удалось загрузить картинку");
}
else
{
int C, W, H;
getdisplay(C, W, H);
int t = gettime();
int result = findimage(SWIFT, count, #Image0[0][0], ColorFon, #PosX[0], #PosY[0], 0, 0, W, H, r,r,r,r,r,r,p,1,-1);
messagebox("На поиск затрачено времени: " +format(gettime()-t)+"^r^nНайдено изображений: "+format(result));
}
Ответ ChatGPT
CODE:Давайте разберем и прокомментируем ваш код шаг за шагом:
string PathToImage = "C:\\4.1.bmp"; // путь к картинке
Здесь создается строковая переменная PathToImage, которая содержит путь к изображению. Важно заметить, что в строках путей на Windows используются обратные слэши \, которые нужно экранировать, то есть писать как \\, чтобы избежать ошибок синтаксиса. Поэтому путь к картинке в данном случае — C:\4.1.bmp.
int r = 5; // отклонение в цвете (0-255)
Переменная r задает отклонение цвета при поиске изображения. Значение от 0 до 255, где 0 — это точное совпадение цвета, а 255 — максимально возможное отклонение.
int p = 95; // точность поиска (1-100)
Переменная p задает точность поиска изображения. Значение от 1 до 100, где 100 означает наибольшую точность (меньше ошибок при нахождении). Это, вероятно, влияет на то, насколько строго будет искать изображение в окне, насколько маленькие отклонения от эталона будут разрешены.
int count = 10; // сколько картинок искать
Переменная count указывает, сколько раз программа будет искать картинку на экране. Это значение ограничивает количество результатов поиска.
int ColorFon = 0; // цвет фона, -1 если цвет фона не используется
Переменная ColorFon задает цвет фона для поиска. Если цвет фона не используется, то параметр принимает значение -1. Иначе, если цвет фона важен для поиска, необходимо указать его значение.
int PosX[99], PosY[99];
Здесь создаются два массива PosX и PosY, которые будут хранить координаты найденных изображений на экране. Максимально можно найти 99 изображений.
int Image0[1920][1080];
Создается двумерный массив Image0 размером 1920x1080, в котором будет храниться пиксельное представление картинки, загруженной из файла. Размеры массива предполагают, что картинка будет иметь разрешение 1920x1080.
if(loadimage(#Image0[0][0], PathToImage) < 0)
{
messagebox("Не удалось загрузить картинку");
}
Функция loadimage пытается загрузить картинку по указанному пути PathToImage в массив Image0. Если загрузка не удалась (возвращается отрицательное значение), программа выводит сообщение о том, что не удалось загрузить картинку.
else
{
int C, W, H;
getdisplay(C, W, H);
int t = gettime();
int result = findimage(SWIFT, count, #Image0[0][0], ColorFon, #PosX[0], #PosY[0], 0, 0, W, H, r,r,r,r,r,r,p,1,-1);
messagebox("На поиск затрачено времени: " + format(gettime()-t) + "^r^nНайдено изображений: " + format(result));
}
Если картинка была успешно загружена, выполняется следующий блок:
getdisplay(C, W, H);: Эта функция получает информацию о текущем экране, такие как цвет экрана C, а также ширину (W) и высоту (H) экрана. Эти параметры будут использованы для поиска изображений на экране.
int t = gettime();: Получаем текущее время в миллисекундах. Это нужно для измерения времени, которое уйдет на поиск изображения.
int result = findimage(SWIFT, count, #Image0[0][0], ColorFon, #PosX[0], #PosY[0], 0, 0, W, H, r, r, r, r, r, r, p, 1, -1);: Функция findimage выполняет поиск изображения на экране.
SWIFT — возможно, это константа, которая задает способ поиска (например, скорость поиска).
count — количество картинок для поиска.
#Image0[0][0] — ссылка на массив пикселей загруженной картинки.
ColorFon — цвет фона, который можно игнорировать (или не использовать).
#PosX[0], #PosY[0] — массивы, куда будут записаны координаты найденных изображений.
0, 0, W, H — области экрана, на которой будет осуществляться поиск (в данном случае, по всему экрану от (0, 0) до (W, H)).
r, r, r, r, r, r — отклонения по цвету для каждого канала RGB.
p — точность поиска.
1, -1 — дополнительные параметры для настройки поиска.
messagebox("На поиск затрачено времени: " + format(gettime()-t) + "^r^nНайдено изображений: " + format(result));: После завершения поиска выводится сообщение, показывающее:
Время, которое прошло с момента начала поиска (разница между текущим временем и t).
Количество найденных изображений (result).
Резюме:
Этот код загружает изображение с диска, ищет его на экране и сообщает о времени, потраченном на поиск, а также количестве найденных изображений. Картинка ищется с учетом отклонений в цвете, точности поиска и возможных фонов.