Curso de VB II

Ejemplo

En un formulario nuevo, insertar un Picture Box y un botón. Establecer que el formulario se presente en centro de la pantalla ocupando la mitad del tamaño de la misma y que se redimensionen todos los objetos al cambiar el tamaño del formulario. (Procedimiento de evento Form_Resize). Llamarlo Ejemplo01.

Nota: La primera tarea que debemos abordar es colocar el formulario en medio de la pantalla, para ello acudiremos en diseño a la propiedad StartUpPosition y elegiremos el valor 2 -  CenterScreen. Para especificar el tamaño del formulario tendremos que escribir el siguiente código en su evento Load:

De esta forma, nos aseguramos que tanto la altura como la anchura del formulario (al que hemos llamado Proporcional) sean justo la mitad de las que tenga la pantalla.

Teniendo en cuenta que hemos llamado caja al PictureBox y Salir al botón de comando, deberemos escribir el siguiente código en el evento resize. Ya sólo faltará escribir el código respuesta a la pulsación del botón Salir.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


El control Picture Box

Las posibilidades de este control pertenecen a tres campos:

  • Presentar imágenes que fueron creadas en cualquier otra parte y existen en archivos en disco, como fotografías escaneadas y dibujos creados con un programa gráfico.

  • Presentar gráficos que son creados con sentencias de programa, como el método Circle.

  • Servir como un contenedor para agrupar otros controles.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Carga de una imagen durante el diseño del programa

Podemos cargar una imagen en un Picture Box durante el diseño del programa, con el objetivo de incrustar la imagen en el archivo ejecutable del proyecto. (Las imágenes a veces se guardan como archivos FRX.) Este método es apropiado si un Picture Box siempre va a mostrar la misma imagen o cuando no queremos distribuir un archivo de imagen separado del programa. Cargar una imagen durante el diseño del programa no impide que podamos cargar otra imagen en el Picture Box mientras el programa está en ejecución.

Formatos de imagen para un Picture Box.

Formato

Extensión

Descripción

Bitmap   

BMP o DIB

Bitmap Windows. Define una imagen como una cuadrícula de puntos (pixeles).

Icono   

ICO   

Un tipo especial de bitmap, normalmente 32 por 32 o 16 por 16 pixeles de tamaño.

Cursor   

CUR   

Similar a un icono, aunque también contiene un hotspot (zona caliente) definido, que sigue con precisión la posición del cursor. Se utiliza para el puntero del ratón.

Metaarchivo   

WMF o EMF

Metaarchivo Windows. Define una imagen en términos de líneas y formas.

JPEG   

JPG o JPEG

formato Joint Photographic Expert Group. Un formato de imagen comprimida que admite color de 8 y 24 bits. Habitualmente utilizado en Internet.

GIF   

GIF

Graphical Interchange Format. Un formato comprimido que sólo admite color de 8 bits. También popular en Internet.

Para cargar una imagen en tiempo de diseño, seleccionar la propiedad Picture del Picture Box en la ventana Propiedades. Visual Basic presenta un panel de diálogo Cargar Imagen, que permite seleccionar el archivo gráfico. La imagen seleccionada se presenta en el control durante el diseño, así como cuando el programa se ejecuta.

Una imagen se carga en un control Picture Box con la esquina superior izquierda de la imagen situada en la esquina superior izquierda del Picture Box. Si la imagen es menor que el Picture Box, el área exterior de la imagen presenta el color especificado por la propiedad BackColor del Picture Box. Si la imagen es mayor que el control, la porción que sale fuera del Picture Box es recortada si la propiedad AutoSize se establece como False (por defecto). Podemos establecer la propiedad AutoSize del Picture Box como True, lo que hace que el Picture Box se agrande o encoja para acoger el tamaño exacto de la imagen.

También podemos cargar una imagen en un Picture Box desde el Portapapeles de Windows. Abrimos la imagen en la aplicación con la que la creamos o editamos, luego copiamos la imagen al Portapapeles utilizando el comando Edición / Copiar. Volvemos a Visual Basic, seleccionarnos el control Picture Box, y seleccionarnos Edición / Pegar.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Carga de una imagen durante la ejecución del programa

Hay varios métodos hay disponibles para visualizar una imagen en un Picture Box en tiempo de ejecución. Un método podría ser seleccionar la propiedad Picture del control. Pero no funciona directamente. Debemos usar la función LoadPicture:

MiPictureBox.Picture = LoadPicture(nombrearchivo)

Donde nombrearchivo es el nombre de un archivo en uno de los formatos de imagen admitidos, incluyendo la ruta completa, si es necesario. La posición de la imagen y el efecto de la propiedad AutoSize del control son los mismos que cuando cargamos una imagen en tiempo de diseño. Podemos borrar un Picture Box utilizando LoadPicture sin argumento:

MiPictureBox.Picture = LoadPicture()

También podemos copiar una imagen de un Picture Box a otro accediendo a la propiedad Picture del control:

MiPictureBox1.Picture = MiPictureBox2.Picture

Cargar una imagen en un Picture Box con estos métodos es correcto en la mayoría de las ocasiones, pero tiene algunas limitaciones:

  • La imagen siempre se coloca en la esquina superior izquierda del Picture Box.

  • El tamaño de la imagen no puede cambiarse, es decir, la imagen siempre se presenta con su tamaño original.

  • Sólo puede presentarse una imagen cada vez en un control dado.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


El método PaintPicture

Este método permite eludir las limitaciones de los anteriores métodos utilizados para cargar una imagen durante la ejecución del programa. Se comienza con una imagen fuente, bien en un control Picture Box o en un formulario. Luego se puede tomar toda la imagen o parte de ella (cualquier región rectangular) y colocarla en cualquier sitio, en otro Picture Box o formulario, o en el Picture Box o formulario fuente. Se puede estirar o encoger la imagen "copiada".

La sintaxis del método PaintPicture:

Objeto.PaintPicture gráfico, x1, y1, w1, h1, x2, y2, w2, h2, código

donde los argumentos son como sigue:

  • Objeto. El nombre del objeto Picture Box, Form o Printer donde la imagen va a colocarse. Este argumento es opcional. Si se omite, se asume el formulario que tiene el foco.
  • gráfico. La fuente del gráfico. Debe ser la propiedad Picture de un objeto Form, Picture o Picture Box.
  • x1, y1. Los valores que indican las coordenadas destino (es decir, la posición del objeto destino donde la esquina superior izquierda de la imagen va a dibujarse). La propiedad ScaleMode del objeto determina la unidad de medida utilizada.
  • w1, h1. Los valores que indican la anchura y altura destinos de la imagen, utilizando las unidades especificadas por la propiedad ScaleMode del objeto destino. Si la anchura y/o altura destino es mayor o menor que la anchura (w2) o altura (h2) fuente, la imagen se estira o se encoge para encajar. Estos argumentos son opcionales; si se omiten, la anchura (w1) y la altura (h1) fuente se utilizan sin estiramiento ni compresión.
  • x2, y2. Los valores que indican las coordenadas fuente de la región que va a ser copiada en el objeto fuente (en unidades especificadas por la propiedad ScaleMode del objeto fuente). Estos argumentos son opcionales; si se omiten, se asume 0 (indicando la esquina superior izquierda de la imagen fuente).
  • w2, h2. Los valores que indican la anchura y altura de la región dentro de la fuente que va a copiarse (en unidades especificadas por la propiedad ScaleMode del objeto fuente). Estos argumentos son opcionales; si se omiten, se utiliza toda la anchura y altura de la fuente.
  • código. Un valor de tipo Long que define la operación en modo de bit realizada entre los pixeles de la imagen fuente y los pixeles de cualquier imagen existente sobre el destino. Este argumento, que es opcional y es útil únicamente con bitmaps. Si el argumento se omite, la fuente se copia en el destino, reemplazando cualquier cosa que hubiera allí.

Una imagen bitmap puede estar ya allí, pero aunque el destino esté en blanco, algo hay allí, tal vez sólo pixeles blancos. Sobre la extensión de la región copiada, por tanto, cada pixel de la imagen copiada tiene el correspondiente pixel en la misma localización en el destino. El argumento código determina como se combinan estos pixeles.

La operación más simple y frecuente es dejar que cada nuevo pixel reemplace el pixel original. El argumento código para esto es la constante predefinida vbSrcCopy. Otros dos argumentos código útiles son vbBlackness y vbWhiteness, que cambian el rectángulo destino a todo negro o todo blanco. Esto en realidad no es una copia de la imagen fuente, pero aún así hay que especificar una fuente en la sentencia PaintPicture. Otros argumentos código realizan diversas combinaciones lógicas de la imagen fuente con la imagen destino. Se puede usar para crear ciertos tipos de efectos visuales, para ahondar en este tema ir al sistema de ayuda de Visual Basic.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de VB II y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.