elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  programa en visual studio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa en visual studio  (Leído 2,486 veces)
al161684

Desconectado Desconectado

Mensajes: 1


Ver Perfil
programa en visual studio
« en: 7 Septiembre 2018, 02:46 am »

hola, alguien me podría ayudar en como hacer un programa en visual studio 2017 para hacer un programa que presente en una imagen las partes del cuerpo y que cuando el usuario señale con el mouse alguna de ellas el programa presente su nombre en inglés y en español.
gracias!!


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: programa en visual studio
« Respuesta #1 en: 8 Septiembre 2018, 15:48 pm »

En primer lugar este espacio es para vb6... para NET el sitio está algo más 'arriba'.

Hay varias formas...

1 - Una de ellas es definir regiones... con una estructura simple similar a esto:

Código
  1. Structure RegionPicture
  2.    X as Int32
  3.    Y as Int32
  4.    Ancho as Int32
  5.    Alto    as Int32
  6.    Texto  as string
  7. End Structure

Se crea una estructura por cada parte del cuerpo humano se rellenan los datos y se añaden a una colección...
Cuando el usuario haga click en la imagen, el evento devuelve las cordenadas de click, se va recorriendo la colección, para investigar si se ha pulsado en una región específica, en cuyo caso se muestra el texto correspondiente... incluso puede ponerse en una casilla en español/inglés, por ejemplo y pedir la traducción al otro idioma no dado.

Este método aunque simple presenta algunas desventajas...
- La región definida es rectangular, no refleja la forma exacta de prácticamente ninguna parte.
- Dos partes podrían compartir cordenadas, con lo que aunque se encontrase una región sería acertado terminar de recorrer la región para ver si alguna más se centra en la posición pulsada. Podría decidirse entre ellas en base a la región que mejor tenga centrada dicha cordenada, o puede mostrarse las diferentes regiones coincidentes... Si son más de dos, lo complica de cara al usuario.

- Unas forma de paliarlo, es modificar la imagen original (una copia), y señalar pequeñas áreas donde debe pulsarse, coloreando ligeramente de diferentes colores cada área... ciñendo las áreas los más posible, se minimiza la posibilidad de error o de pulsar en dos regiones colindantes...

2 - Algo más complejo es modificar la estructura para definir una región con un array de puntos, y no solo 4 que definen un ractángulo... Esto tiene la desventaja de que supondrá mayor esfuerzo para hacerlo, además deberá crearse una función también algo más compleja para determinar "boolean = EstaPuntoEnRegion(pt as punto, region() as punto)"
Código
  1. Structure Punto
  2.    X as Int32
  3.    Y as Int32
  4. end Structure
  5.  
  6. ' El array de puntos debería encerrar la figura, es decir el último punto debería tener las mismas coredenadas que el primero.
  7. Structure RegionPicture
  8.    Pts() as Punto
  9.    Texto  as string
  10.  
  11.    Function PuntoEnRegion(pt as Punto) as boolean
  12.          ' recorrer el array 'pts', para determinar si el punto recibido está dentro de la región que define el array de 'pts'...
  13.    end function
  14. End Structure


3 - Otra solución más óptima es recurrir de nuevo a la imagen original... hacer una selección de las regiones de cada parte, copiar las selecciónes y guardarlas como una imagen transparente. Proceder de igual modo con cada parte dle cuerpo humano que se quiera considerar...

Luego simplemente se trata de mostrar en la ventana todas las imágenes superpuestas... al hacer click, se hará click sobre cada imagen específica (las áreas transparentes deben manejarse como no sensibles al click), entonces derivando al mismo evento click, para todas las funciones, basta un 'select case' para determinar cual de las imágenes fue pulsada y por ello mostrar el texto que corresponda.


...cuando te decidas por un método a usar y adelantes código, si te quedas atascado en algún punto... pregunta, pero ya centrado en una cuestión específica...


En línea

gundream

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: programa en visual studio
« Respuesta #2 en: 31 Octubre 2018, 22:21 pm »

Yo pongo la imagen en la pantalla, pongo encima de la imagen unas pocas etiquetas de texto en plan LABEL transparente, y cuando hagas click en la zona del label (aunque sea transparente, el evento se dispara igual) muestras el texto o sonido que quieras. Fácil, rápido y sin pegas.  :silbar:
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: programa en visual studio
« Respuesta #3 en: 17 Enero 2019, 00:09 am »

Llego tarde a leer y responder, pero bueno...

La solución apropiada sería la que ha comentado NEBIRE, solo que suponiendo que realmente la pregunta sea para VB.NET, entonces los ejemplos con clases personalizadas resulta algo innecesario cuando tenemos a nuestra disposición la clase System.Drawing.Region y System.Drawing.GraphicsPath. No necesitarías más. Y también deberías recortar las imágenes y superponerlas en la original, lo que dijo NEBIRE al final de su comentario, vaya, esto simplificaría enormemente la tarea de asignar las regiones, puesto que usarías los límites de la imagen recortada como región (en lugar de tener que calcular y especificar manualmente todos los puntos de la trayectoria).

Saludos.
« Última modificación: 17 Enero 2019, 00:14 am por Eleкtro (sin pilas) » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa con visual studio 2010 ayuda porfavor
.NET (C#, VB.NET, ASP)
hks 1 2,558 Último mensaje 5 Marzo 2012, 02:08 am
por raul338
ayuda con un programa de carreras en c++ (visual studio)
Programación C/C++
jozzavila 2 4,088 Último mensaje 28 Abril 2014, 09:04 am
por jozzavila
Programa en Visual Studio
.NET (C#, VB.NET, ASP)
Lobo_Med 2 2,236 Último mensaje 16 Abril 2018, 18:23 pm
por Shell Root
MOVIDO: Programa en Visual Studio
Programación General
Eleкtro 0 2,086 Último mensaje 16 Abril 2018, 18:18 pm
por Eleкtro
EL programa no compila en VIsual Studio
Programación C/C++
str0nghack 0 1,450 Último mensaje 20 Agosto 2018, 22:35 pm
por str0nghack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines