Кибор » Кибор - Интегрированная среда разработки ботов » Готовые скрипты » Загрузка изображения в массив из ресурсов без распаковки.

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

1. Zireael - 09 Ноября, 2019 - 13:08:32 - перейти к сообщению
https://drive.google.com/open?id...HjJnZEn4ngoQulqg
Длл позволяет загрузить изображение в массив из ресурсов никуда не распаковывая. Картинки должны быть bmp 24 или 32 бита.
Пример использования:
CODE:
// закинуть длл на диск C:\
// указать путь к картинке в блоке RESOURCE и функции resource
// собрать exe, поставив галку 'Упаковать файлы с блока RESOURCE в EXE'
// после сборки картинку можно удалить, она больше не нужна

unpack("C:\LoadImage.dll", tempfolder()+"LoadImage.dll", 0); // распаковать длл
external(INT, "load_image", "load_image", "C:\LoadImage.dll"); // загрузить функцию

char buf[999999]; // массив чтобы загрузить картинку из ресурсов
int image[100][100]; // массив для картинки (может быть больше чем сама картинка)

resource(#buf[0], "D:\Kibor2\Image_0.bmp"); // загрузить картинку из ресурсов
load_image(address(#buf[0]), address(#image[0][0]), sizearray(image), sizearray(image[])); // загрузить картинку в массив

int x, y;
if(findimage(1, #image[0][0], -1, #x, #y, 0, 0, 1920, 1080, -1))
{
messagebox("Картинка найдена");
mousemove(x, y);
}
else messagebox("Картинка не найдена");

// saveimage(#image[0][0], "C:\Image111.bmp"); // сохранить картинку

RESOURCE
{
"C:\LoadImage.dll";
"D:\Kibor2\Image_0.bmp";
}


Можно загружать в трёхмерный массив:
 Цитата:
char buf[999999]; // массив чтобы загрузить картинку из ресурсов
int image[5][100][100]; // массив для 5 картинок

resource(#buf[0], "D:\Kibor2\Image_0.bmp" ); // загрузить картинку из ресурсов
load_image(address(#buf[0]), address(#image[0][0][0]), sizearray(image[]), sizearray(image[][]));

resource(#buf[0], "D:\Kibor2\Image_1.bmp" ); // загрузить картинку из ресурсов
load_image(address(#buf[0]), address(#image[1][0][0]), sizearray(image[]), sizearray(image[][]));


Функция load_image возвращает:
1 в случае успеха.
-1 Размер массива по x меньше размера картинки по x.
-2 Размер массива по y меньше размера картинки по y.
2. 007wan - 09 Ноября, 2019 - 23:53:21 - перейти к сообщению
Умно, спасибо!) где ты находишь все эти коды и длл? Или сам пишешь?
3. Arimor - 02 Января, 2021 - 06:52:30 - перейти к сообщению
Zireael , А в чем профит в отличии от загрузки с распаковкой через кибор?
CODE:
unpack("C:\savescreen\test.bmp", temp_fold+"test.bmp", 1);
loadimage (#Image [0][0][0], temp_fold+"test.bmp");
4. Zireael - 02 Января, 2021 - 07:15:30 - перейти к сообщению
 Цитата:
А в чем профит в отличии от загрузки с распаковкой через кибор?

Не нужно распаковывать.
5. Arimor - 02 Января, 2021 - 08:18:53 - перейти к сообщению
Zireael , В плане времени или каких то преимуществ в плане производительности, безопасности. Может как то влияет на обход систем защиты, античит к примеру не видит распаковки картинок, я в реверсинг инжинеринг совсем не шарю, и как, что это отлавливается не понимаю.
6. Zireael - 02 Января, 2021 - 08:54:00 - перейти к сообщению
 Цитата:
В плане времени или каких то преимуществ в плане производительности, безопасности.

Никакой разницы. Разве что пользователь не увидит распакованные картинки.

Powered by ExBB FM 1.0 Final