方法 : 実行時にピクチャのサイズまたは配置を変更する (Windows フォーム)

フォームで Windows フォーム PictureBox コントロールを使用する場合は、SizeMode プロパティを次のように設定できます。

  • 画像の左上隅をコントロールの左上隅に揃える

  • 画像をコントロールの中央に配置する

  • 表示する画像に合わせてコントロールのサイズを調整する

  • 表示する画像をコントロールに合うように拡大する

画像 (特にビットマップ形式) を拡大すると、画質が低下する可能性があります。 実行時にイメージを描画するためのグラフィックス命令の一覧であるメタファイルは、ビットマップよりも拡大に適しています。

実行時に SizeMode プロパティを設定するには

  1. SizeMode を、Normal (既定値)、AutoSizeCenterImage、または StretchImage に設定します。 Normal は、画像がコントロールの左上隅に配置されることを意味します。画像がコントロールよりも大きい場合は、下端と右端が切り取られます。 CenterImage は、画像がコントロールの中央に配置されることを意味します。画像がコントロールより大きい場合は、画像の外縁が切り取られます。 AutoSize は、コントロールのサイズが画像のサイズに合わせて調整されることを意味します。 StretchImage は逆の操作、つまり画像のサイズがコントロールのサイズに合わせて調整されることを意味します。

    次の例では、画像の場所に設定されているパスは My Documents フォルダーです。 このように設定できるのは、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"));  
       }  
    

関連項目