【C#】Windowsフォームアプリケーションでローカルの画像ファイルを表示する方法


この記事はプロモーションを含みます。

C#

C#のWindowsフォームアプリケーションで、ローカルに保存された画像ファイルを表示する方法をご紹介します。
ファイルが存在しない場合のエラーハンドリングも実装しています。

はじめに

C#のWindowsフォームアプリケーションでは、GUIアプリケーションを簡単に作成できます。
この記事では、ローカルの画像ファイルをフォームに配置した PictureBox に表示するサンプルコードとその解説を行います。
以下は、実行時のイメージです。

ソースコード

以下のコードは、Windowsフォームアプリケーションでフォーム起動時に画像ファイルを読み込み、PictureBox に表示する処理を行っています。

using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        private readonly PictureBox pictureBox;
        public Form1()
        {
            InitializeComponent();
            this.ClientSize = new Size(640, 360);

            pictureBox = new PictureBox
            {
                Dock = DockStyle.Fill,
                SizeMode = PictureBoxSizeMode.Zoom
            };
            this.Controls.Add(pictureBox);

            // 画像のパス
            string imagePath = @"C:\Workspace\sample.jpg";
            LoadImage(imagePath);
        }

        // 画像を読み込んで表示する
        private void LoadImage(string path)
        {
            if (System.IO.File.Exists(path))
            {
                pictureBox.Image = Image.FromFile(path);
            }
            else
            {
                MessageBox.Show("画像ファイルが見つかりません。\n" + path, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}

コードのポイントです。

PictureBox を作成し、Dock = DockStyle.Fill でフォーム全体に表示。

SizeMode = PictureBoxSizeMode.Zoom を指定することで、縦横比を維持しつつ、画像がフォームのサイズに合わせてリサイズされます。

LoadImage メソッドでは、ファイルの存在確認を行い、存在しない場合はエラーメッセージを表示します。

画像のパスについて

下記のように、画像のフルパスをハードコードしています。
実際の運用では、OpenFileDialogを使ってユーザーに選ばせたり、リソースファイルを使う方法もあります。

string imagePath = @"C:\Workspace\sample.jpg";

おわりに

Windowsフォームアプリケーションでの画像表示は非常にシンプルです。
今回のサンプルは基本的な処理にすぎませんが、ここからスライドショーや画像編集アプリなどにも発展可能です。
ぜひ応用してみてください!

コメント

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