如何:在运行时修改图片的大小或位置(Windows 窗体)

如果在窗体上使用 Windows 窗体 PictureBox 控件,则可以将 SizeMode 属性设置为:

  • 将图片的左上角与控件的左上角对齐

  • 在控件内居中图片

  • 调整控件的大小以适应它显示的图片

  • 拉伸显示的任何图片以适应控件

拉伸图片(尤其是位图格式的图片)可能会降低图像质量。 图元文件是在运行时用于绘制图像的图形指令列表,比位图更适合拉伸。

在运行时设置 SizeMode 属性

  1. SizeMode 设置为 Normal(默认值)、AutoSizeCenterImageStretchImageNormal 表示图像放置在控件的左上角;如果图像大于控件,则其下边缘和右边缘被剪裁。 CenterImage 表示图像在控件中居中,如果图像大于控件,则图像的外部边缘会被裁剪。 AutoSize 意味着控件的大小调整为图像的大小。 StretchImage 与之相反,表示将图像的大小调整为控件的大小。

    在下面的示例中,为图像的位置设置的路径是“我的文档”文件夹。 这样做是因为你可以假定运行 Windows 操作系统的大多数计算机将包含此目录。 这还允许用户使用最少的系统访问级别安全地运行应用程序。 以下示例假定窗体已添加控件 PictureBox

    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->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"));
       }
    

另请参阅