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 Name: Especifíca el nombre del control para poder referenciarlo e identificarlo
· Propiedad Appearance: Esta propiedad determina si el Image posee o no efecto 3d con respecto a su apariencia. Los valores son: 1 - 3D y 0 - None. Para que esta propiedad se pueda utilizar, la propiedad BorderStyle debe estar con el valor 1
· Propiedad BorderStyle: Determina si el control Image posee o no un borde. Al igual que el anterior tiene dos posibles valores, 0 sin borde o 1 con borde
· Propiedad Picture: Esta es la propiedad principal del control, que también es la propiedad por defecto o default. Picture es la que establece la imagen o gráfico que mostrará el control.
· Propiedad Stretch: Esta es una de las propiedades mas importantes. Si está en True la imagen se ajustará al tamaño que posea el control Image, si está en False el control Image es el que se adaptará al tamaño y dimensiones de la imagen.
· Las demás propiedades son las clásicas y comunes para la mayoría de los controles, como la propiedad Index, Visible, Enabled, ToolTipText, Width, Height, etc...
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 discoRuta = "c:\windows\plumas.bmp" 'Le pasamos al método LoadPicture la variable RutaImage1.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 imagenImage1.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 ImageImage1.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 discoRuta = "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 ImageImage1.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 SubPrivate 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
· Ejemplo para hacer un MouseOut, MouseOver en controles image con gráficos
· Ejemplo de los eventos Drag Drop - arrastrar y soltar
· Redimensionar una imagen mediante el mouse Ejemplos del control PictureBox
Volver al índice
lunes, 17 de mayo de 2010
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario