Você está na página 1de 4

Colocar Imagen en un PictureBox a partir del Control OpenFileDialog

Tecnologa: VB y VC#
Autor: Alexander Jimenez

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.