C# WinFormsで学ぶ Graphics クラス入門
― 線・図形・文字・画像を描画してみよう ―
目次
はじめに
Windowsフォームアプリケーションを作っていると、「画面に図形や文字を直接描きたい!」と思うことがあります。
そのときに活躍するのが Graphics クラス です。
この記事では、Graphics クラスの基本から、実際のコード例までを初心者にも分かりやすく解説します。
Graphics クラスとは?
- 役割:フォームやコントロール、画像に線・図形・文字・画像を描画するための機能を提供します。
- 名前空間:System.Drawing に含まれています。
- 取得方法:
- Paintイベントでの利用(推奨)
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics; // 描画用のGraphicsを取得
}
- CreateGraphics()メソッド(一時的な描画用。再描画時に消えるので注意)
基本の描画メソッド
1. 線を描く
g.DrawLine(Pens.Blue, 10, 10, 200, 10);
- Pens.Blue:青色のペンを使用
- (10,10) から (200,10) まで水平線を描画
2. 四角形を描く
// 枠だけ
g.DrawRectangle(Pens.Red, 50, 50, 100, 80);
// 塗りつぶし
g.FillRectangle(Brushes.Green, 50, 150, 100, 80);
- Pen:線を描く道具
- Brush:塗りつぶす道具
3. 円や楕円を描く
g.DrawEllipse(Pens.Black, 200, 50, 80, 80);
g.FillEllipse(Brushes.Yellow, 200, 150, 80, 80);
4. 文字を描く
g.DrawString("Hello Graphics!",
new Font("Arial", 16),
Brushes.Black,
new PointF(10, 250));
5. 画像を描く
Image img = Image.FromFile("sample.png");
g.DrawImage(img, 300, 50, 100, 100);
サンプルコード:図形と文字を描くアプリ
以下のコードをコピー&ペーストすれば、そのまま動作します。
(新しい WinForms プロジェクトを作り、Form1.cs に貼り付けてください)
using System;
using System.Drawing;
using System.Windows.Forms;
namespace GraphicsSample
{
public class Form1 : Form
{
public Form1()
{
this.Text = "Graphics クラス サンプル";
this.Size = new Size(400, 300);
this.Paint += new PaintEventHandler(Form1_Paint);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
// 線
g.DrawLine(Pens.Blue, 10, 10, 200, 10);
// 四角形
g.DrawRectangle(Pens.Red, 50, 50, 100, 80);
g.FillRectangle(Brushes.Green, 50, 150, 100, 80);
// 円
g.FillEllipse(Brushes.Yellow, 200, 50, 80, 80);
// 文字
g.DrawString("Hello Graphics!",
new Font("Arial", 16),
Brushes.Black,
new PointF(10, 250));
}
}
}
実行すると、線・四角形・円・文字が描かれたシンプルな画面が表示されます。
まとめ
- Graphics クラスは「画面に描くための筆」
- Pen は線、Brush は塗りつぶし
- Paintイベント内で e.Graphics を使うのが基本
これらを押さえると、フォームを「キャンバス」として使い、自分の好きな図形やイラストを描けるようになります。
訪問数 21 回, 今日の訪問数 21回
ディスカッション
コメント一覧
まだ、コメントがありません