Título: [C++]Ayuda con un programa funcion getpixel Publicado por: Ahustinkrone en 30 Mayo 2014, 22:00 pm Holas, estoy intentando crear un programa que obtenga el valor rgb o bgr de un pixel especifico en la ventana activa que no seria la del programa en si.
osea yo quiero que revise el pixel que esta en X, Y y me diga que color es cada x tiempo. el problema es que no entiendo como funciona getpixel(hdc,x,y). supongo que x e y son las coordenadas del pixel a revisar pero ¿hdc?.. sino alguien me puede explicar como utilitaria getpixel para lo que necesito ? Trabajo con Code:Blocks y ya linkie gdi32. PD: es mi primera post ^^ Título: Re: [C++]Ayuda con un programa funcion getpixel Publicado por: x64core en 31 Mayo 2014, 03:14 am Holas, estoy intentando crear un programa que obtenga el valor rgb o bgr de un pixel especifico en la ventana activa que no seria la del programa en si. GetDC ( Hwnd ) http://msdn.microsoft.com/en-us/library/windows/desktop/dd144871(v=vs.85).aspx.osea yo quiero que revise el pixel que esta en X, Y y me diga que color es cada x tiempo. el problema es que no entiendo como funciona getpixel(hdc,x,y). supongo que x e y son las coordenadas del pixel a revisar pero ¿hdc?.. sino alguien me puede explicar como utilitaria getpixel para lo que necesito ? Trabajo con Code:Blocks y ya linkie gdi32. PD: es mi primera post ^^ Hay otras maneras también. Y Además mejor cambia de compilador a VC++ ( Visual Studio ). Título: Re: [C++]Ayuda con un programa funcion getpixel Publicado por: vangodp en 31 Mayo 2014, 03:47 am HDC = Handle to Device Context
No se mucho de win api pero se que para poder dibujar en windows necesitas un Device Context. El Handle es lo que maneja el Device Context. Digamos que una ventana es un Device Context cuando creas un hdc le asignas a una DC para poder ser manejado. Es como cuando creas una variable y después le asignas el valor que va a guardar. hdc es la variable y en ella guardamos la ventana DC. por ejemplo: HDC hdc = GetDC ( NULL ); HDC es el tipo de dato hdc es el nombre que le damos GetDC ( NULL ); asigna a hdc la una ventana. En fin hdc es un puntero a un ventana DC. Título: Re: [C++]Ayuda con un programa funcion getpixel Publicado por: Ahustinkrone en 31 Mayo 2014, 06:29 am GetDC ( Hwnd ) http://msdn.microsoft.com/en-us/library/windows/desktop/dd144871(v=vs.85).aspx. porque me lo recomiendas ? que caracterusticas presenta mejores/distantas al code::blocks? Hay otras maneras también. Y Además mejor cambia de compilador a VC++ ( Visual Studio ). Volviendo al tema,mire varios ejemplos del uso del HDC y pude entenderlo un poco, gracias a los 2 por sus repuestas, voy a probar con GetDC (NULL);estaba usando GetWindowDC(hwnd); para seleccionar la ventana donde posicione el puntero, pero creo que seria mas estable si utiliza la pantalla entera ¿no?. ahora otra duda, si getpixel se utilisa en una ventana seleccionada y no en toda la pantalla el origen de las coordenadas X e Y es la esquina de la ventana o de la pantalla ? quiero comentar (por si a alguien le interesa)que el programa que estoy haciendo es un autopot para juegos, bastante sencillo y simplemente como hobbie porque no quería bajar uno, quería hacer uno :D funciona asi: 1-Inicia el programa 2-(una vez dentro de la ventana del juego) Alt + click para marcar en la barra de vida/mana/etc el punto en el que quieres que se empiecen a utilizar o dejen de utilizarse las pociones. 3-se guarda el color original de este pixel. 4-analiza el pixel seleccionado si este cambia de color se empiezan a utilizar las pociones con un cierto intervalo(simula presionar una tecla). 5-si el pixel vuelve a su color original deja de utilizar pociones. eso es todo, bastante sencillo. ya esta casi terminado. gracias espero sus respuestas Título: Re: [C++]Ayuda con un programa funcion getpixel Publicado por: vangodp en 31 Mayo 2014, 06:51 am Citar porque me lo recomiendas ? que caracterusticas presenta mejores/distantas al code::blocks? Es que estas trabajando con winapi, y para eso por supuesto que es mejor, pero tampoco eres obligado a cambiar y por eso es una recomendación.Aquí hay un código que si me funciono. Si le haces unas modificaciones y lo pones en un bucle te puede servir para lo que quieres. http://stackoverflow.com/questions/4839623/getting-pixel-color-in-c Busca aprender sobre la api de windows si te interesa el tema ;) Suerte. Título: Re: [C++]Ayuda con un programa funcion getpixel Publicado por: Ahustinkrone en 31 Mayo 2014, 07:08 am Gracias, la pregunta de "porque me lo recomendabas?" no iba de malas, de verdad quería saber en que era mejor el visual.
y.. Código: #include <windows.h> |