Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Maurice_Lupin en 25 Noviembre 2011, 17:57 pm



Título: Reconocer areas de imagenes - ayuda
Publicado por: Maurice_Lupin en 25 Noviembre 2011, 17:57 pm
Una vez vi un programa que tenia una imagen y uno podia hacer click en distintas areas de la imagen y se obtenia un valor. Pero la imagen, ni las areas de la imagen eran cuadradas y menos redondas.

Existe algun boton u otro control que me permita hacer esto, en flash creo que se puede hacer, estoy buscando información para vb.net.

Saludos.


Título: Re: Reconocer areas de imagenes - ayuda
Publicado por: Novlucker en 25 Noviembre 2011, 18:48 pm
¿Puedes replantear tu pregunta? No se ha entendido :xD (al menos yo ...)

Saludos


Título: Re: Reconocer areas de imagenes - ayuda
Publicado por: Maurice_Lupin en 26 Noviembre 2011, 14:11 pm
Bueno, digamos esta imagen
(http://s3.subirimagenes.com:81/imagen/previo/thump_7179099pruebamancha.png)

Ahora si hago click en la parte azul, obtendre un valor de 1 y si hago click en el rojo obtendré 2.
El asunto esta en detectar en que parte hice click. Lo que devuelva es más fácil de codificar  :)

Tengo una idea, pienso en hacer un mapa de bits de la imagen, utilizaria una matriz de enteros. Me pregunto hasta cuanta memoria podría utilizar como máximo.

Saludos.


Título: Re: Reconocer areas de imagenes - ayuda
Publicado por: Novlucker en 26 Noviembre 2011, 17:08 pm
Partiendo de la base de que la imagen es mostrada en un picturebox, podrías invocar al evento onMouseClick para luego calcular la posición del click, y de ser necesario obtener los pixeles del lugar donde se hizo el click.

Saludos


Título: Re: Reconocer areas de imagenes - ayuda
Publicado por: Keyen Night en 3 Diciembre 2011, 00:36 am
@Up x2

Novlucker plantea una idea muy buena, al menos es una buena solución, obtener el color del pixel dónde el mouse se encuentra al momento del click y si es azul entonces retorna 1 si es rojo entonces 2.

Claro, si fuesen imágenes de muchos colores hay la cosa se pone un poco más compleja, lo primero que se me viene a la mente es esa API que he usado mucho PtInRect, que puede saber si un punto está dentro de un rectángulo, basándose en como funciona esa API, podrías trasladar la funcionalidad a un área limitada por puntos.