Cómo: Modificar el tamaño o la situación de una imagen en tiempo de ejecución (formularios Windows Forms)

Actualización: noviembre 2007

Si utiliza el control PictureBox de los formularios Windows Forms en un formulario, puede establecer en él la propiedad SizeMode en:

  • Alinear la esquina superior izquierda de la imagen con la esquina superior izquierda del control.

  • Centrar la imagen dentro del control.

  • Ajustar el tamaño del control a la imagen que muestra.

  • Estirar cualquier imagen que se muestre para que se ajuste al control.

Al estirar una imagen, puede producirse una pérdida de calidad de imagen, sobre todo si ésta tiene formato de mapa de bits. Los metarchivos, que son listas de instrucciones gráficas para dibujar imágenes en tiempo de ejecución, admiten mejor esta operación que los mapas de bits.

Para establecer la propiedad SizeMode en tiempo de ejecución

  • Establezca SizeMode en Normal (el valor predeterminado), AutoSize, CenterImage o en StretchImage. Normal significa que la imagen se sitúa en la esquina superior izquierda del control; si la imagen es mayor que el control, sus bordes derecho e inferior se recortan. CenterImage significa que la imagen está centrada dentro del control; si la imagen es mayor que el control, los bordes exteriores de la imagen se recortan. AutoSize significa que el tamaño del control se ajusta al tamaño de la imagen. StretchImage es lo contrario, y significa que el tamaño de la imagen se ajusta al tamaño del control.

    En el ejemplo siguiente, la ruta de acceso establecida para la ubicación de la imagen es la carpeta Mis documentos (My Documents). Se utiliza esta ubicación porque se puede asumir que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán este directorio. Esto permite también a los usuarios con niveles de acceso mínimos ejecutar la aplicación de un modo seguro. En el ejemplo siguiente suponemos que ya se ha agregado un control PictureBox al formulario.

    Private Sub StretchPic()
       ' Stretch the picture to fit the control.
       PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
       ' Load the picture into the control.
       ' You should replace the bold image 
       ' in the sample below with an icon of your own choosing.
       PictureBox1.Image = Image.FromFile _
       (System.Environment.GetFolderPath _
       (System.Environment.SpecialFolder.Personal) _
       & "\Image.gif")
    End Sub
    
    private void StretchPic(){
       // Stretch the picture to fit the control.
       PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
       // Load the picture into the control.
       // You should replace the bold image 
       // in the sample below with an icon of your own choosing.
       // Note the escape character used (@) when specifying the path.
       PictureBox1.Image = Image.FromFile _
       (System.Environment.GetFolderPath _
       (System.Environment.SpecialFolder.Personal) _
       + @"\Image.gif")
    }
    
    private void StretchPic(){
       // Stretch the picture to fit the control.
       pictureBox1.set_SizeMode(PictureBoxSizeMode.StretchImage);
       // Load the picture into the control.
       // You should replace "image.gif" in the sample below 
       // with an icon of your own choosing.
       pictureBox1.set_Image(Image.FromFile
       (System.Environment.GetFolderPath
       (System.Environment.SpecialFolder.Personal)
       + "\\Image.gif"));
    }
    
    private:
       void StretchPic()
       {
          // Stretch the picture to fit the control.
          pictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;
          // Load the picture into the control.
          // You should replace the bold image 
          // in the sample below with an icon of your own choosing.
          pictureBox1->Image = Image::FromFile(String::Concat(
             System::Environment::GetFolderPath(
             System::Environment::SpecialFolder::Personal),
             "\\Image.gif"));
       }
    

Vea también

Tareas

Cómo: Cargar una imagen mediante el Diseñador (formularios Windows Forms)

Cómo: Establecer imágenes en tiempo de ejecución (formularios Windows Forms)

Referencia

PictureBox

Información general del control PictureBox (Formularios Windows Forms)

Otros recursos

PictureBox (Control, formularios Windows Forms)