[C#]図形の描画 | Assertion Failed!

[C#]図形の描画

いろいろな図形を描画する



Assertion Failed!-図形描画


簡単なものだけとりあえず。

複数の点を繋いだ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));
  }
}