visual una ruta recursos poner obtener imagen desde como cargar asignar c# picturebox

c# - una - Cargando imagen de PictureBox desde archivo de recursos con ruta(Parte 3)



obtener la ruta de la imagen de un picturebox (5)

Entiendo que esta pregunta ha sido formulada (y contestada) antes. Sin embargo, ninguna de las soluciones funciona para mí. Esto puede ser debido a mi incompetencia, maldiciones vudú o algo simple y obvio que me estoy perdiendo.

A continuación se muestra una captura de pantalla de todas las piezas relevantes del rompecabezas:

Captura de pantalla http://dinosaur-island.com/PlantPictureBoxScreenCap.jpg

Como puede ver, hay numerosos bmps de plantas cargadas como recursos en la carpeta Imágenes. Hay un formulario con un picturebox llamado "PlantPicture". Hay una cadena, que sé que tiene una buena ruta (porque la he comprobado en el depurador):

PicPath = PicPath+".bmp";

Captura de pantalla http://dinosaur-island.com/PlantDebugger.jpg

He probado numerosas formas de carga, vaciado, etc., etc.

Si te compadecieras y le dieras una oportunidad más, agradecería cualquier consejo. ¡Gracias!


Configurar "Copiar en el directorio de salida" en "Copiar siempre" o "Copiar si es más nuevo" puede ayudarlo.

Su PicPath es una ruta relativa que se convierte en una ruta absoluta en algún momento al cargar la imagen. Probablemente verá que no hay imágenes en la ubicación especificada si usa Path.GetFullPath(PicPath) en la depuración.


Depende de su ruta de archivo. Para mí, el directorio actual era [project]/bin/Debug , por lo que tuve que moverme dos veces a la carpeta principal.

Image image = Image.FromFile(@"../../Pictures/"+text+".png"); this.pictureBox1.Image = image;

Para encontrar su directorio actual, puede hacer una etiqueta falsa llamada label2 y escribir esto:

this.label2.Text = System.IO.Directory.GetCurrentDirectory();


La respuesta aceptada tiene un gran inconveniente!
Si cargó su imagen de esa manera, su PictureBox bloqueará la imagen, por lo que si intenta realizar cualquier operación futura en esa imagen, obtendrá una imagen de mensaje de error en otra aplicación.
Este artículo muestra la solución en VB

y esta es la implementación de C #

FileStream fs = new System.IO.FileStream(@"Images/a.bmp", FileMode.Open, FileAccess.Read); pictureBox1.Image = Image.FromStream(fs); fs.Close();


La ruta debe ser algo como: "Images/a.bmp" . (Tenga en cuenta la falta de una barra diagonal y las barras diagonales que están detrás de las barras).

Y entonces:

pictureBox1.Image = Image.FromFile(@"Images/a.bmp");

Sólo lo intenté para asegurarme, y funciona. Esto es además de la otra respuesta que tienes: "copiar siempre".


Ok ... así que primero necesitas importar en tu proyecto la imagen

1) Seleccione la picturebox en Form Design

2) Abrir las tareas de PictureBox (es la pequeña flecha clavada hacia la derecha en el borde de la picturebox)

3) Haga clic en "Elegir imagen ..."

4) Seleccione la segunda opción "Archivo de recursos del proyecto:" (esta opción creará una carpeta llamada "Recursos" a la que puede acceder con Propiedades.Recursos)

5) Haga clic en Importar y seleccione su imagen desde su computadora (ahora se enviará una copia de la imagen con el mismo nombre que la imagen en la carpeta de Recursos creada en el paso 4)

6) Haga clic en Aceptar.

Ahora la imagen está en su proyecto y puede usarla con el comando Propiedades. Solo escriba este código cuando desee cambiar la imagen desde picturebox:

pictureBox1.Image = Properties.Resources.myimage;

Nota: myimage representa el nombre de la imagen ... después de escribir el punto después de Recursos, en sus opciones será su archivo de imagen importado