Anda di halaman 1dari 4

Colocar Imagen en un PictureBox a partir del Control OpenFileDialog (Con VB y VC#)

Muchas ocasiones en nuestros formularios de Windows (Windows Forms) deseamos obtener la forma de incorporar a nuestros controles de PictureBox una imagen, pero ms aun que nos muestre la ubicacin de las carpetas de imagen para que nos permita seleccionarlo y cargarlo luego a nuestro control esto en las mayoras de las veces se no hacia tarea difcil Para empezar a explicar todo debemos comenzar con definir los elementos a utilizar, estos trminos son provenientes de la librera de MSDN:
El control PictureBox de formularios Windows Forms se utiliza para mostrar grficos en formato de mapa de bits, GIF, JPEG, metarchivo o icono. El componente OpenFileDialog de los formularios Windows Forms es un cuadro de dilogo preconfigurado. Es el mismo cuadro de dilogo Abrir archivo que expone el sistema operativo de Windows. Se hereda de la clase CommonDialog.

Teniendo los conceptos ya aclarado comenzamos con el tema que nos interesa el como cargar la imagen para ello estar escribiendo el cdigo en dos lenguajes que es Visual Basic 2005 y Visual C# 2005
Paso 1.: Para ello comenzaremos con crear nuestro proyecto. Y debemos abrir nuestro Visual Studio 2005 Standar, Professional, Team Suite o Express cualquiera de ellos nos servir. Paso 2.: Seleccionamos el tipo de proyecto a utilizar en este caso sera un Windows Application el lenguaje a utilizar esta de su parte , por ahora vamos a llamar al proyecto PruebaOpenImagen Visual C#:

Visual Basic:

Paso 3.: Agregaremos a nuestro Form los controles Button, OpenFileDialog y el PictureBox la cual lo encontraremos en nuestro cuadro de herramientas (si no aparece le dan a las teclas Crtl+Alt+k). Al botn ser el nico que le modificremos una propiedad llamada TEXT para colocarle Cargar Imagen

Paso 4.: Luego de agregar los controles a utilizar procedemos a la escritura del cdigo, es decir, la parte ms emocionante de este mini tutorial le damos dos veces click al botn que agregamos al formulario. Paso 5.: Realizaremos dos declaraciones el primero es el Stream para almacenar toda la informacin proveniente de la imagen a buscar por lo tanto como no tenemos ninguna info lo dejaremos vacio y el segundo para instanciar una nueva apertura del Control OpenFileDialog En Visual Basic:

Dim miStream As IO.Stream = Nothing Dim openFileDialog1 As New OpenFileDialog()

En Visual C#:
System.IO.Stream MiStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog();

Paso 6.: Empezamos a darles valores necesarios al Cuadro de Dialogo para que nos retorne lo que deseamos. Donde los siguientes elementos nos serviran: InitialDirectory=Nos indicara cual sera el directorio predeterminado. Filter= Que tipos de archivos mostrara el OpenFileDialog, la forma ideal es: Nombre|*.Formato FilterIndex= Este nos indicara cual de los tipos de archivos indicado en filter sera el predeterminado. RestoryDirectory= para cuando se hagan nuevas busquedas retorne al directorio predeterminado. En Visual Basic:
openFileDialog1.InitialDirectory = "c:\" openFileDialog1.Filter = "JPG(*.jpg)|*.jpg|PNG(*.png)|*.png|GIF(*.gif)|*.gif|Todos(*.Jpg, *.Png, *.Gif, *.Tiff, *.Jpeg, *.Bmp)|*.Jpg; *.Png; *.Gif; *.Tiff; *.Jpeg; *.Bmp" openFileDialog1.FilterIndex = 2 openFileDialog1.RestoreDirectory = True

En Visual C#:
openFileDialog1.InitialDirectory = "C:\\"; openFileDialog1.Filter = "JPG(*.jpg)|*.jpg|PNG(*.png)|*.png|GIF(*.gif)|*.gif|Todos(*.Jpg, *.Png, *.Gif, *.Tiff, *.Jpeg, *.Bmp)|*.Jpg; *.Png; *.Gif; *.Tiff; *.Jpeg; *.Bmp"; openFileDialog1.FilterIndex = 4; openFileDialog1.RestoreDirectory = true;

Paso 7.: Procedemos a decirle a nuestro OpenFileDialog que pasara si encuentra el archivo que deseamos en este caso la imagen. En Visual Basic:
If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then Try miStream = openFileDialog1.OpenFile() If (miStream IsNot Nothing) Then 'Dim NombreArchivo as String; 'Dim RutaArchivo as String; 'RutaArchivo = openFileDialog1.FileName.ToString() 'NombreArchivo = Path.GetFileName(RutaArchivo) PictureBox1.Image = System.Drawing.Bitmap.FromStream(miStream) End If Catch Ex As Exception MessageBox.Show("Error: No se puede carga la imagen " & Ex.Message) End Try End If

En Visual C#:
if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { if ((MiStream = openFileDialog1.OpenFile()) != null) { using (MiStream) { //string NombreArchivo; //string RutaArchivo; //RutaArchivo = openFileDialog1.FileName.ToString(); //NombreArchivo = Path.GetFileName(RutaArchivo); pictureBox1.Image = System.Drawing.Bitmap.FromStream(MiStream); } } } catch (Exception ex) { MessageBox.Show("Error: No se puede carga la imagen " + ex.Message); } }

Nota: Entre las Comillas de ambos Cdigo (VB y VC#) he colocado la declaracin de dos variable (NombreArchivo y RutaArchivo) para captura la ruta y para capturar solo el nombre del archivo seleccionado luego de la declaracin les deje la forma de cmo llenar dichas declaraciones. Paso 8.: El gran final darle a la Tecla F5 para compilar nuestro proyecto

Conclusin De la misma forma como se sube una imagen al PictureBox se puede usar el control OpenFileDialog para la apertura de archivos, solo se debe cambiar la ruta y bueno cambiar algunas sentencias de acuerdo a lo que se desea hacer. Espero que este mini tutorial le all sido de mucha utilidad.

Anda mungkin juga menyukai