Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

WinAPI GetPixel() - чем заменить?

-

Вопросы и ответы, обсуждения

- Ваши вопросы по ASM/WinAPI только в данном разделе

Ответ
 
Опции темы
Старый 20.02.2011, 20:56   #1
 Пехотинец
Аватар для sergaxt
 
sergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известен
Регистрация: 13.01.2011
Сообщений: 68
Популярность: 419
Сказал(а) спасибо: 20
Поблагодарили 140 раз(а) в 18 сообщениях
Отправить сообщение для sergaxt с помощью Skype™
 
По умолчанию WinAPI GetPixel() - чем заменить?

Всем привет!
Использую GetPixel() для определения цвета пикселя по указанным координатам, но GetPixel() - очень тормознутая функция,
- есть ли алгоритм определения цвета пикселя без использования GetPixel()?
- или алгоритм поиска пикселя с указанным цветом в определённой области экрана?
  Ответить с цитированием
Старый 20.02.2011, 21:12   #2
Заблокирован
 Разведчик
Аватар для byearab
 
byearab скоро будет известенbyearab скоро будет известенbyearab скоро будет известен
Регистрация: 02.02.2011
Сообщений: 18
Популярность: 229
Сказал(а) спасибо: 5
Поблагодарили 81 раз(а) в 52 сообщениях
Отправить сообщение для byearab с помощью ICQ
 
По умолчанию Re: WinAPI GetPixel() - чем заменить?

Показывает цвет в любой точке любого окна если ее(точку) видно глазами

Код:
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#Include <date.au3>
#include <GuiEdit.au3>
#include <GuiConstantsEx.au3>

;Opt("PixelCoordMode",2)

Opt("WinTitleMatchMode",1)
Opt("WinDetectHiddenText",1)
;Opt("MouseCoordMode",2)

Global $Title = "Bla-bla-bla",$klass = "MacromediaFlashPlayerActiveX2"

$hWnd = WinGetHandle($Title)
$Form1 = GUICreate("Координатор", 208, 278, 419, 182)
$Edit1 = GUICtrlCreateEdit("", 16, 8, 177, 233, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
GUISetState(@SW_SHOW)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
;$koord = ControlGetPos( $titl, "", $klass) ; тут привязаться к окну и элементу окна
$pos = MouseGetPos()                             ; чтоб координаты стали относительные  
;$pos[0] = координата Х вместо курсора
;$pos[1] = координата Y вместо курсора
;$pos[0] = $pos[0]+ $koord[0]
;$pos[1] = $pos[1] + $koord[1]

Sleep(10)
_MouseClickOnScreenCoords("Main", $hWnd, $pos[0], $pos[1], 1)
WEnd


Func _MouseClickOnScreenCoords($sButton, $hWnd, $iX, $iY, $iSpeed=10)
    Local $Struct = DllStructCreate("int X;int Y")

    DllStructSetData($Struct, "X", $iX)
    DllStructSetData($Struct, "Y", $iY)

    _WinAPI_ScreenToClient($Title, $Struct)

    $iX = DllStructGetData($Struct, "X")
    $iY = DllStructGetData($Struct, "Y")
   
    Local $iOld_Opt = Opt("MouseCoordMode", 2)
    $Cpos = PixelGetColor ($iX, $iY)
    GUICtrlSetData($Edit1,$iX&","& $iY&"  "& $Cpos)

    Opt("MouseCoordMode", $iOld_Opt)
EndFunc
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 20.02.2011, 21:50   #3
 Пехотинец
Аватар для sergaxt
 
sergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известенsergaxt скоро будет известен
Регистрация: 13.01.2011
Сообщений: 68
Популярность: 419
Сказал(а) спасибо: 20
Поблагодарили 140 раз(а) в 18 сообщениях
Отправить сообщение для sergaxt с помощью Skype™
 
По умолчанию Re: WinAPI GetPixel() - чем заменить?

byearab,
Там используется PixelGetColor() (Autoit) - эта функция ещё медленнее, чем GetPixel() через WinAPI, - для фешек ещё куда ни шло, но для быстрых, динамичных игр не пойдёт...

Последний раз редактировалось sergaxt; 20.02.2011 в 22:00. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Прочее] Найти и заменить KlouS Халява для Читера 2 24.01.2011 23:47
[Помогите!] использование WinApi на горячих клавишах Sanych89 Вопросы и ответы, обсуждения 10 11.09.2010 21:12
[Вопрос] Прграмма с WinApi qmax89 Вопросы и ответы, обсуждения 0 29.08.2010 12:51

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 23:06.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net