Título: Es Posible hacer un autoclick pixeles? Publicado por: Tzdah en 23 Septiembre 2012, 04:25 am Me refiero a yo poner un color hexadecimal y al activar el autoclick se mueva a la posición de ese color.
Saludos Título: Re: Es Posible hacer un autoclick pixeles? Publicado por: ~.L.~ en 24 Septiembre 2012, 01:46 am Hola DEINO, revisa si alguna de estas funciones te sirven:
http://www.ehowenespanol.com/leer-pixeles-cuadros-imagenes-visual-basic-6-como_120126/ http://deepdarkprocess.wordpress.com/2010/09/09/vb6-leer-un-pixel-de-una-imagen/ Con estos mismos, lo que puedes hacer tú es leer los pixeles y el resto queda a cuenta tuya. Un saludo, ~.L.~ Título: Re: Es Posible hacer un autoclick pixeles? Publicado por: BlackZeroX en 27 Septiembre 2012, 05:04 am Me refiero a yo poner un color hexadecimal y al activar el autoclick se mueva a la posición de ese color. Saludos Te dire los pasos por que no cuento con vb6... 1.- Debes obtener el descriptor DC (hDC) de la pantalla (se obtiene con una API que se llama mas o menos así: GetDC() ). 2.- Con esto realizado tienes DOS posibilidades para obtener los pixeles: 2.1.-Proceso LENTO (Internamente se convierte en un BITMAP y lo destruye por cada llamada a GetPixel...): Usar el API GetPixel() (le debes pasar el hDC en su parámetro, que te retorno el API GetDC() + las coordenadas [X, Y]): 2.2.- Proceso RAPIDO: Transformar el hDC en un Bitmap y recorrer la sección de datos del color como un array, obviamente teniendo en cuenta el ancho y alto (Equivalentes a el tamaño de la ventana que obtuviste el hDC con GetDC(), si es de la pantalla entonces es equivalente a tu resolución, hay APIS para obtener la resolución...). Para transformar en un BITMAP debes usar las APIS de la GDI... puedes usar las APIS: CreateCompatibleBitmap()... y obtienes TODOS los bytes de cada color con el API: GetDIBits()... un ejemplo (Esta en C pero no difiere mucho pues solo son llamas a API para obtener un Screenshot de la pantalla): Lo que esta después de la linea 26 no importa de mucho puesto que en la 26 ya obtienes EL PUNTERO a la sección donde están LOS BYTES en grupos de 3 bytes (cada byte es un color: Red, Green and Blue: RGB, si no mal recuerdo están inversos... BGR... no lo recuerdo bien) este puntero (BitmapData) lo puedes recorrer con CopyMemory() o APIS para el acceso a la memoria... Código
3.- Recorre la fila de los pixeles por cada columna y obtén el pixel, a continuación compara lo con el color que buscas: Si quieres los colores RGB de un color... tienes alguna de estas dos funciones: http://foro.elhacker.net/programacion_visual_basic/recopilacion_de_funciones_con_operaciones_binarias-t329680.0.html;msg1623777#msg1623777 Las funciones te retornar los colores RGB y en base a esto puedes hacer comparaciones de tolerancia de colores mas exactos... Dulces Lunas!¡. |