bitmaps

05/03/2004 - 14:26 por Anonimo | Informe spam
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos

Preguntas similare

Leer las respuestas

#1 e-lores
05/03/2004 - 14:50 | Informe spam
Hola.

Al poner la sentencia:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");

la función entiende que el archivo está en el mismo directorio que la
aplicación. Una solución sencilla sería poner
Bitmap bmp = new Bitmap(this.GetType(), "path\\Imagen.bmp");

Espero que te sirva.
Saludos.


escribió en el mensaje
news:
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que


tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos


Respuesta Responder a este mensaje
#2 Camilo Villa
05/03/2004 - 14:50 | Informe spam
Prueba con:
Bitmap bmp = new Bitmap(this.GetType(), @"TuRuta\Imagen.bmp");
o
Bitmap bmp = new Bitmap(this.GetType(),"TuRuta\\Imahen.bmp");

Salu2,

Camilo Villa
Analista y Programador de Sistemas - Microsoft 3 DCE
escribió en el mensaje
news:
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que


tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos


Respuesta Responder a este mensaje
#3 Anonimo
05/03/2004 - 16:51 | Informe spam
Gracias a los dos, pero esa solucion no me funciona. Les recuerdo que es una
aplicacion WinForms

Gracias.
Saludos
José
escribió en el mensaje
news:
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que


tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos


Respuesta Responder a este mensaje
#4 Camilo Villa
05/03/2004 - 17:51 | Informe spam
Estuve viendo las ayudas sobre recursos incrustados, y encontré un ejemplo
en el que utilizan reflection, para acceder al manifiesto del Metadata y
consultar por informacion en especial, en este caso de una imagen. y dicha
imagen asignarla a un PictureBox



//Capturo el Assembly que en el momento este operando, es decir tu
aplicacion.

System.Reflection.Assembly thisExeSystem.Reflection.Assembly.GetExecutingAssembly

// Luego Armo un Stream con la informacion de la Metadata del manifiesto de
dicho Assembly.

System.IO.Stream file thisExe.GetManifestResourceStream("Tu_Assembly.Tu_Carpeta.Tu_Imagen.bmp");

// y por último lo asigno al picture Box...

this.pictureBox1.Image = Image.FromStream(file);



Si deseas saber cual es el Manifiesto de tu Assembly para retomar el valor
de la cadena: "Tu_Assembly.Tu_Carpeta.Tu_Imagen.bmp"



Entonces ejecutas Ildasm desde la ventana de comandos que proporciona el
menú de utilidades de Visual Studio .NET; esto te permite ver la metadata
del Assembly... a lo cual sale una interfas... allí en el menú abrir buscas
la ruta de tu exe (en la ruta de tu proyecto subcarpeta bin, subcarpeta
Debug, allí esta tu exe)

una vez abierto...

Aparece un arbol de jerarquias... allí buscas un nodo que se llama
manifiesto... le das doble click...

Esto te abre una nueva ventana... allí buscas la informacion que hace
referencia a la ubicacion de tu bmp...

lo seleccionas, le das copy...

y te paras despues en el código de tu aplicacion y pegas esta cadena.. para
que puedas ejecutarse tu aplicacion y probar lo que te digo, debes cerrar el
Ildasm, ya que este bloquea el assembly...



Espero, esta vez te halla sacado del apuro...





Salu2,




Camilo Villa
Analista y Programador de Sistemas - Microsoft 3 DCE
escribió en el mensaje
news:
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que


tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos


Respuesta Responder a este mensaje
#5 Camilo Villa
05/03/2004 - 17:56 | Informe spam
Me falto algo en la primera línea de código:

esta queda así:
System.Reflection.Assembly thisExe System.Reflection.Assembly.GetExecutingAssembly()

Salu2,

Camilo Villa
Analista y Programador de Sistemas - Microsoft 3 DCE
escribió en el mensaje
news:
Hola. En tiempo de aplicacion quiero asignarle una imagen a un pictureBox,
el archivo de la imagen lo tengo dentro de la solucion con la la propiedad
Accion de Generacion = Recurso Incrustado, entonces, en ejecución hago:

Bitmap bmp = new Bitmap(this.GetType(), "Imagen.bmp");
pictureBox1.Image = bmp;

Hasta acá todo bien, ahora si muevo el arvhivo bmp a una carpeta que


tambien
es parte de la solucion, para tener todo más ordenado, el código de arriba
deja de funcionar. ¿¿Que puedo hacer para que funcione?? No me gusta tener
todos los archivos mezclados en la carpeta raíz.

Saludos


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida