[C#]図形の描画
いろいろな図形を描画する
簡単なものだけとりあえず。
複数の点を繋いだPolygonやLines、ベジエ曲線などもある。
気をつけるのは、外周の1ピクセル。
塗りつぶしの場合は、外周のみを描画するのに比べて1ピクセル分範囲が狭い。
同じ領域に塗りつぶしと外周描画を行うと、どちらを先に描画しても
外周は表示されている状態になる。
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
using (Brush br = new SolidBrush(Color.SteelBlue))
using (Pen pen = new Pen(Color.Green, 1))
{
// 直線
g.DrawLine(pen, new Point(10, 10), new Point(100, 10));
// 円弧
g.DrawArc(pen, new Rectangle(10, 20, 30, 30), 0, 270);
// 円
g.DrawEllipse(pen, new Rectangle(10, 60, 30, 30));
// 円塗りつぶし
g.FillEllipse(br, new Rectangle(50, 60, 30, 30));
// 扇形
g.DrawPie(pen, new Rectangle(10, 100, 30, 30), 0, -270);
// 扇形塗りつぶし
g.FillPie(br, new Rectangle(50, 100, 30, 30), 0, 180);
// 四角形
g.DrawRectangle(pen, new Rectangle(10, 140, 30, 30));
// 四角形塗りつぶし
g.FillRectangle(br, new Rectangle(50, 140, 30, 30));
// 文字列
g.DrawString("sample", Font, br, new Point(10, 180));
}
}