画面に文字列を描画する - C#
画面に文字列を描画するコードを紹介します。
概要
画面に文字列を描画するには、GraphicsオブジェクトのDrawStringメソッドを利用します。
または、TextRendererクラスを利用します。
プログラム例:Graphics.DrawStringを利用する
GraphicsオブジェクトのDrwaStringメソッドを利用して文字列を描画する例です。
UI
下図のフォームを作成します。Panelコントロールを配置します。
コード
以下のコードを記述します。PanelコントロールのPaintイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DrawStringDemo
{
public partial class FormDrawStringSimple : Form
{
public FormDrawStringSimple()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
string drawText = "ぺんぎんクッキー";
SolidBrush brush = new SolidBrush(Color.Black);
Font f = new Font("Yu Gothic UI",14);
e.Graphics.DrawString(drawText, f, brush, 32, 16);
}
}
}
解説
画面に描画する文字列です。今回はdrawText変数に代入しています。
string drawText = "ぺんぎんクッキー";
テキストの描画に利用するブラシを作成します。黒色のブラシを作成し、文字の色は黒色とします。
SolidBrush brush = new SolidBrush(Color.Black);
テキストの描画に用いるフォントを作成します。今回は"Yu Gothic UI" フォントを利用し、フォントサイズは14とします。
Font f = new Font("Yu Gothic UI",14);
GraphicsオブジェクトのDrawStringメソッドを呼び出し、文字列を描画します。
Panelコントロールの x=32,y=16 の位置に、drwaText変数の内容(「ぺんぎんクッキー」)を描画します。
DrwaStringメソッドの第一引数に描画する文字列の値、第二引数に描画に利用するFontオブジェクト、第三引数に描画の際の文字色などを決定するBrushオブジェクトを、
第四、第五引数に文字列を描画座標のX,Yを与えます。
e.Graphics.DrawString(drawText, f, brush, 32, 16);
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。文字列がPanelに描画される動作が確認できます。
プログラム例:TextRendererを利用する
TextRendererを利用して文字列を描画する例です。
UI
下図のフォームを作成します。Panelコントロールを配置します。
コード
以下のコードを記述します。PanelコントロールのPaintイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TextRendererDemo
{
public partial class FormTextRendererSimple : Form
{
public FormTextRendererSimple()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
string drawText = "ぺんぎんクッキー";
Font f = new Font("Yu Gothic UI", 14);
TextRenderer.DrawText(e.Graphics, DrawText, this.Font, new Point(32, 16), Color.Black);
}
}
}
解説
画面に描画する文字列です。今回はdrawText変数に代入しています。
string drawText = "ぺんぎんクッキー";
テキストの描画に用いるフォントを作成します。今回は"Yu Gothic UI" フォントを利用し、フォントサイズは14とします。
Font f = new Font("Yu Gothic UI", 14);
テキストを画面に描画します。TextRendererクラスのDrawTextメソッドを呼び出します。
最初のパラメーターに描画対象のGraphicsオブジェクトを与えます。2番目のパラメータに描画する文字列、3番目のパラメーターに描画に利用するフォント、
4番目のパラメーターに描画座標の値、5番目のパラメーターに文字の描画色を与えます。
TextRenderer.DrawText(e.Graphics, DrawText, this.Font, new Point(32, 16), Color.Black);
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。文字列がPanelに描画される動作が確認できます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用