Помощь - Поиск - Пользователи - Календарь
Полная версия: Функции FindColor и FindImage
UoKit.com Форумы > Кликер > UO Pilot
zzzzza
Всем привет!

У меня возник такой вопрос: а есть где-нибудь в открытом доступе или может кто-нибудь скинуть исходник функций "FindColor" и "FindImage"? Не важно на каком языке ("C", "C++", "Pascal", "Delphi").

Очень интересует быстрый поиск у "FindColor".

Заранее спасибо!
Cockney
GetPixel/BitBlt
zzzzza
Cockney, GetPixel при оформление Aero слишком тормозит. Использую "BitBlt":

Код

    COLORREF pixel;
     BITMAPINFO BMI={0};
     HDC hGDC=GetDC(hWnd);
     int Bitp=GetDeviceCaps(hGDC, BITSPIXEL);
     HDC hTmpDC=CreateCompatibleDC(hGDC);
     HBITMAP hTmpBmp=CreateCompatibleBitmap(hGDC,1,1);
     SelectObject(hTmpDC,hTmpBmp);
     BitBlt(hTmpDC,0,0,1,1,hGDC,x,y,SRCCOPY);
     BMI.bmiHeader.biSize = sizeof(BMI.bmiHeader);
     BMI.bmiHeader.biWidth = 1;
     BMI.bmiHeader.biHeight = 1;
     BMI.bmiHeader.biPlanes = 1;
     BMI.bmiHeader.biBitCount = Bitp;
     BMI.bmiHeader.biCompression = BI_RGB;
     BMI.bmiHeader.biSizeImage=Bitp/8;
     BMI.bmiHeader.biClrUsed = 0;
     BMI.bmiHeader.biClrImportant = 0;
     int TMP=GetDIBits(hTmpDC,hTmpBmp,0,1,&pixel,&BMI, DIB_RGB_COLORS);
     pixel&=0xFFFFFF;
     ReleaseDC(hWnd,hGDC);
     DeleteDC(hTmpDC);
     DeleteObject(hTmpBmp);

     pixel=RGB(GetBValue(pixel), GetGValue(pixel), GetRValue(pixel));
     return pixel;


Но режим 2 в UOpilot работает все равно быстрее. В чем секрет?
Cockney
GetDIBBits вроде не нужен, приеду домой, посмотрю нароботки. Если найду - скину.

BMI тоже не нужен.
zzzzza
Спасибо, жду.
Cockney
HDC destHdc = CreateCompatibleDC()
HBITMAP destHBmp = CreateCompatibleBitmap()
SelectObject(destHdc, destHBmp)
BitBlt()
BITMAP map;
GetObject(destHBmp, sizeof(BITMAP), &map)

Дальше в map.bits должно лежать все изображение в формате BGR. Верти как хочешь дальше.
zzzzza
Спасибо, буду пробовать!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.