PR

C#PictureBoxの使い方

記事内に広告が含まれています。

画像の表示を行います。
Microsoft Learnを参考にしています。
PictureBox クラス (System.Windows.Forms) | Microsoft Learn

PictureBoxの配置方法

ツールボックスのPictureBoxを選択し、Formのデザイン上でクリックすることで配置できます。
表示名は最初のままですが、プロパティのTextから変更することができます。
基本的にはこの時に配置したPictureBoxのサイズで画像が表示されます。

画像の表示

上部にあるテキストボックスにファイルボックスにファイルドロップすることで画像を描画してみます。
またSizeModeをコンボボックスから変更できるようにしています。

今回使用する画像はWordで生成した文字列をキャプチャしたものとします。

参考用のコード例です。
ShowMyImageの引数に画像のファイルパスを指定して呼び出して描画します。
BitmapのMyImageがnullでない場合にDisposeしていますが、これをしないとメモリの消費量が増えるためです。

        private Bitmap MyImage;
        /// <summary>
        /// PictureBoxに画像を表示する
        /// </summary>
        /// <param name="fileToDisplay">描画する画像のファイルパス</param>
        public void ShowMyImage(String fileToDisplay)
        {
            if (MyImage != null)
            {
                MyImage.Dispose();
            }

            MyImage = new Bitmap(fileToDisplay);
            pictureBox1.Image = MyImage;
        }

わざと小さいフォームサイズで作成していますが、画像の一部が表示できていることが確認できます。

SizeModeについて

初期値はNormalです。
Normalの場合、左上に合わせて画像がそのままのサイズで表示されます。

StretchImageの場合、PictureBoxのサイズに合わせて画像が表示されます。
今回の例の場合は縮小されて表示します。

AutoSizeの場合、コントロールサイズのサイズを画像に合わせて変更し表示します。
今回の例の場合、Normalと比べてコントロールの右側、下側が拡大されています。

CenterImageの場合、中央に合わせて画像がそのままのサイズで表示されます。

Zoomの場合、画像の縦横比のままPictureBoxのサイズに合わせて画像が表示されます。

用途によると思いますが、縦横比を保ったまま画像全体を表示できるZoomが使いやすいのではないかなと思います。
画像が見切れている場合にスクロールする場合はこのコントロール単体では対応できないため他のコントロールと組み合わせる必要があります。

タイトルとURLをコピーしました