none
Cargar imagen en picturebox con ruta relativa. RRS feed

  • Pregunta

  • Saludos amigos!

    Estamos trabjando con imagenes en el proyecto, he buscado información acerca de las ruta relativas en VS C# WinForms.

    Estos han sido mis intentos sin resultado, tanto en diseño como en .exe:

                string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
                string exeDir = Path.GetDirectoryName(exeFile);
                string fullPath3 = Path.Combine(exeDir, "..\\Imagenes\\Alumnos\\0000000.png");
                string fullPath1 = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(),"..\\..\\Alumnos\\0000000.png");
                string fullPath = Path.Combine(Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location),"Alumnos/"); 
                string fullPath2 =  EvaluateRelativePath(@"E:\Software\Cenda\Imagenes\" , @"..\Alumnos\0000000.png");

                string path = ResolveRelativePath(@"E:\Software\Cenda\", @"..\Imagenes\Alumnos\0000000.png");  

    La ruta completa es: E:\Software\Cenda\Imagenes\Alumnos\0000000.png

    mi intención: picAlumno.Image = Image.FromFile(fullPath + "0000000.png");

    He probado ya con el .exe y las carpetas. en tiempo de diseño igual... les solicito de su apoyo para revisar mi error.

    Muchas gracias.

    Atentamente.- Marco

    viernes, 13 de febrero de 2015 19:53

Respuestas

  • Esto te debería funcionar:

    picAlumno.Image = Image.FromFile(Path.Combine(Application.StartupPath, "Imágenes\\Alumnos\\0000000.png");
    

    Eso sí, asegúrate de que las imágenes se copian al directorio de la aplicación:

    viernes, 13 de febrero de 2015 20:27

Todas las respuestas

  • Hola,

    Nos muestras la ruta donde están las imágenes  pero no nos muestras la ruta donde se encuentra el archivo ejecutable. ¿Nos apoyas?

    viernes, 13 de febrero de 2015 20:20
  • Esto te debería funcionar:

    picAlumno.Image = Image.FromFile(Path.Combine(Application.StartupPath, "Imágenes\\Alumnos\\0000000.png");
    

    Eso sí, asegúrate de que las imágenes se copian al directorio de la aplicación:

    viernes, 13 de febrero de 2015 20:27
  • Saludos amigo Williams!

    Te comento que extraje el .exe y todas las .dll de la ruta: E:\Software\CENDA\ReDi\ReDi\bin\Debug y lo he colocado en: E:\Mi Aplicacion\ en conjunto con la carpeta de \Imagenes dentro de ella estan las carpetas con imagenes que son: \Interfaz, \Logos, \Iconos, \Alumnos

    En tiempo de diseño, la carpeta Imagenes no se encuentra en la del proyecto, debido a que ahi almaceno imagnes de otras aplicaciones las cuales se surten por asi decirlo de esa carpeta, al momento de colocar el .exe con sus librerias lo que hago es copiar la carpeta Imagenes en donde coloco el .exe.

    Gracias.

    viernes, 13 de febrero de 2015 20:59
  • Saludos amigo Asier!

    He aplicado tu solución, me fue funcional con el .exe. Gracias amigo.

    En tiempo de diseño, imagino es forzoso poner la ruta de la imagen, tendre que pensar en una constante para la ruta para cambiarlo en modo diseño... o si es posible trabajar en tiempo de diseño con rutas relativas ?

    Trabajo en: E:\Software\CENDA\ReDi\ReDi en raiz de CENDA tengo la carpeta de Imagenes fuera de la carpeta del proyecto ReDi.

    Muchas gracias amigo.

    viernes, 13 de febrero de 2015 21:05