• Jueves 28 de Marzo de 2024, 21:38

Autor Tema:  Mostrar imagen en base a coordenadas  (Leído 3821 veces)

yoancito

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Mostrar imagen en base a coordenadas
« en: Lunes 11 de Noviembre de 2013, 09:23 »
0
Hola buenos días

He terminado un proyecto desde el que cargo (modo consola) unas variables tomadas de un txt para determinar la ruta o posición de camiones de alimentos. Todo ok

No obstante, no logro trasladar estos datos a Windows form.

El txt contiene:
56  10 800 300 20 505
45  10 600 100 20 605

En lo que la primera línea son los datos del primer camión. Y la segunda la del siguiente camión. Lo que me interesa es mostrar un icono (o imagen) según las coordenadas de mi archivo de texto, siendo el 56 la velocidad, el 800 el eje de las X, el 300 el eje de las Y

Al parecer he topado con mi límite de conocimientos y me siento incapaz de hacer lo anterior

Alguna ayuda ¿por favor?

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:Mostrar imagen en base a coordenadas
« Respuesta #1 en: Lunes 11 de Noviembre de 2013, 14:40 »
0
Si lo que deseas realizar son gráficas te puede servir esto:

http://stackoverflow.com/questions/10622674/chart-creating-dynamically-in-net-c-sharp

Espero te sirva. Saludos
@gabio87

yoancito

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Mostrar imagen en base a coordenadas
« Respuesta #2 en: Martes 12 de Noviembre de 2013, 08:02 »
0
Hola. Gracias por responder.

No, no es lo que deseo

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Mostrar imagen en base a coordenadas
« Respuesta #3 en: Martes 12 de Noviembre de 2013, 18:20 »
0
No entendi muy bien que es lo que deseas hacer, si pudieras explicarte un poco mejor se agradeceria

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

yoancito

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Mostrar imagen en base a coordenadas
« Respuesta #4 en: Jueves 14 de Noviembre de 2013, 08:26 »
0
Esto he de hacerlo en C# no desde un proyecto de consola, sino en Windows form:

Tengo un archivo de texto llamado: informacion.txt

Este txt contiene lo siguiente:

56  10 800 300 20 505
45  10 600 100 20 605

En este caso NO deseo posicionar la imagen desde el propio windows form, sino que los datos para posicionar (decir en que lugar del form quiero que se vea) están en el txt

La primera línea son los datos del primer camión. Y la segunda la del siguiente camión. Lo que me interesa es mostrar un icono (o imagen) según las coordenadas que están en mi archivo de texto. Por ejemplo en la primera linea el numero 56 es la velocidad. Y los de posición: el 800 el eje de las X, el 300 el eje de las Y.

Gracias de nuevo y agradecido estoy por tu interés
« última modificación: Jueves 14 de Noviembre de 2013, 12:41 por yoancito »

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Mostrar imagen en base a coordenadas
« Respuesta #5 en: Viernes 15 de Noviembre de 2013, 08:33 »
0
La verdad aun no me queda muy claro que deseas hacer ¿para que sirve el dato de velocidad? ¿acaso quieres que se mueva por al pantalla a una determinada velocidad? ¿o solo es un dato que no debe ser tomado en cuenta y solo deseas que se muestre una figura en la posicion (X,Y)?

Como sea, si solo deseas mostrar una figura en una posicion (x,y) sin que se mueva, deberas usar el evento Paint para hacerlo.

Haz lo siguiente, crea un formulario de 800 x 600, dentro de ese formulario coloca un control PictureBox con la propiedad Dock en Fill, para que llene todo el formulario, y dentro del evento Paint del PictureBox dibujaremos una elipse en las coordenadas que habras leido previamente de tu archivo, aunque en este caso usaremos 2 variables x y y con valores 600 y 300 respectivamente:

Código: [Seleccionar]
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            int x = 600;
            int y = 300;
            e.Graphics.DrawEllipse(new Pen(Brushes.Black), new Rectangle(x, y, 10, 10));
            e.Graphics.FillEllipse(Brushes.Black, new Rectangle(x, y, 10, 10));
        }

Para que funcione adecuadamente, deberas hacer un formulario de tamaño mas grande que la coordenada maxima que vayas a desplegar, en tu caso, si la mayor coordenada es 800 x 300, tu formulario debera ser de 900 x 400 como minimo.

Si la coordenada que deseas mostrar, es mayor que tu resolucion de pantalla, lo que no te permitiria tener un formulario lo suficientemente grande para mostralo, quizas tendrias que hacerlo a escala, por ejemplo, si lo haces a escala 1:2, en lugar de 800 x 300 deberias usar como coordenada 400 x 150, no se si me entiendas, y no se si eso sea lo que necesitas.

Si no es eso, explica un poco mejor.

Saludos :)
« última modificación: Viernes 15 de Noviembre de 2013, 08:37 por ProfesorX »

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================