Sección de tutoriales y manuales vb

Control Image - Control de imagen

Volver al índice



 

 

El control Image permite visualizar gráficos e imágenes de los formatos clásicos como gif, bmp, jpg, ico, cur, wmf etc... Pero no todos ellos son aceptados por este control como los png o lo s Tif, por decir algunos.

En comparación con el control PictureBox que parecen muy similares, el control Image tiene muchas menos características que este, por ejemplo una de ellas es que no se pueden utilizar los métodos gráficos para dibujar sobre el mismo, tampoco es un contenedor de controles como si lo es el PictureBox, no posee propiedad Hdc para interactuar con Apis, tampoco propiedad Hwnd y varias otras.

 

Por lo tanto el control Image consume menos recursos que un control Picture.

 

 

 

 

 

 

Las principales propiedades del control Image:

 

Propiedad Picture

 

Para cargar una imagen en un image, desde la ventana de propiedades de Visual Basic una ves que está seleccionado el control, se puede cargar el gráfico con un cuadro de diálogo que abre Visual lbasic. Esta forma sería cargarla en tiempo de diseño.

Para cargar una imagen en tiempo de ejecución, por ejemplo al pulsar un CommandButton, se utiliza el método LoadPicture, este método también lo posee el control PictureBox y lagunos otros controles.

 

Un ejemplo para cargar un gráfico usando el método LoadPicture:

 

Coloca un CommandButton llamado Command1 y un control Image llamado Image1 y pega el siguiente código en el formulario:

 

Private Sub Command1_Click()
Dim Ruta As String
'la ruta de la imagen en el disco
Ruta = "c:\windows\plumas.bmp"

'Le pasamos al método LoadPicture la variable Ruta
Image1.Picture = LoadPicture(Ruta)

End Sub

 

Asegurate de colocar una ruta válida, de lo contrario se producirá un error en tiempo de ejecución (Error 53: No se ha encontrado el archivo)

En el ejemplo anterior podemos pasar una variable LoadPicture o directamente la ruta, Lo siguiente también es válido:

 

'Le pasamos al método LoadPicture directamente la Ruta de la imagen
Image1.Picture = LoadPicture("c:\windows\plumas.bmp")

 

Para eliminar una imagen que está cargada en un Image en tiempo de ejecución, se debe pasar una cadena vacía. Por ejemplo:

 

'Eliminamos la imagen del Image
Image1.Picture = LoadPicture("")

 

Como se dijo la propiedad Picture es la propiedad por defecto, por lo tanto no es necesario indicársela al control Image:

 

Dim Ruta As String

'la ruta de la imagen en el disco
Ruta = "c:\windows\plumas.bmp"

Image1 = LoadPicture(Ruta)

 

Mediante el método LoadPicture no es la única manera de asignarle una imagen a un Image. Por ejemplo si quisiera mostrar o cargar un gráfico que está en un control PictureBox en un Image (es decir la misma imagen), podemos hacer lo siguiente:

'Cargamos la imagen del control Picture en el Image
Image1.Picture = Picture1.Picture

 

Nota: En el ejemplo anterior, si el control Picture no posee una imagen, no se produce un error en tiempo de ejecución, directamente el control Image no muestra la imagen del control Picture

 

Eventos principales del control Image

 

  1. Evento Click: se dispara al hacer un Click sobre el control
  2. Evento DobleClick: Se dispara la hacer dobleclick sobre el mismo
  3. Evento MouseMove: Se produce cada ves que el mouse se mueve sobre el área del mismo
  4. Evento MouseDown: Se produce cuando el mouse está presionado. Este se ejecuta antes que el evento click
  5. Evento MouseUp. Se produce al soltar el Botón de Mouse.

 

Un ejemplo bien simple para ver como funcionan el evento MouseUp y MouseDown.

Coloca un control Image llamado Image1. Luego guarda el proyecto en algún directorio. Dentro de ese directorio colocá 2 imágenes de tipo .Ico llamadas "Imagen1.ico" e "Imagen2.ico" (o las que quieras pero luego cambialas en el código)

 

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture(App.Path & "\imagen1.ico")
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture(App.Path & "\imagen2.ico")
End Sub

 

Como podés ver cuando el mouse está abajo, se carga el gráfico llamado imagen1.ico y al soltar el botón se ejecuta el MouseUp y carga la otra imagen image2.ico

Bueno esto es lo básico de este control, tiene algunas otras características, pero no es muy difícil descubrirlas, es cuestión de probarlas.

 


Enlaces relacionados

 

Volver al índice

 


Buscar en Recursos vb